From 481ef438dca50ca79c52f0b0b865cd9930bd8f52 Mon Sep 17 00:00:00 2001 From: Xavier Coulon Date: Sun, 18 Sep 2022 14:48:42 +0200 Subject: [PATCH] refactor(parser): improve grammar (#1081) avoid failling into the `AnyChar` rule when parsing content with the `NormalGroup` entrypoint includes refactoring of the `InlineWord` and `Punctuation` rules to match content faster. Signed-off-by: Xavier Coulon --- pkg/parser/context.go | 2 +- pkg/parser/document_preprocessing.go | 8 +- pkg/parser/document_processing_aggregate.go | 6 +- ...document_processing_apply_substitutions.go | 28 +- pkg/parser/document_substitutions.go | 10 - pkg/parser/link_test.go | 20 +- pkg/parser/paragraph_test.go | 27 + pkg/parser/parser.go | 112554 ++++++--------- pkg/parser/parser.peg | 518 +- pkg/parser/parser_ext.go | 31 +- pkg/parser/parser_ext_test.go | 26 +- pkg/parser/section_test.go | 4 +- pkg/renderer/sgml/html5/link_test.go | 4 +- pkg/types/types.go | 3 + pkg/types/types_utils.go | 4 + pkg/types/types_utils_test.go | 18 +- 16 files changed, 42956 insertions(+), 70307 deletions(-) diff --git a/pkg/parser/context.go b/pkg/parser/context.go index fc03a65d..350500f1 100644 --- a/pkg/parser/context.go +++ b/pkg/parser/context.go @@ -27,7 +27,7 @@ func NewParseContext(config *configuration.Configuration, options ...Option) *Pa GlobalStore(frontMatterKey, true), GlobalStore(documentHeaderKey, true), GlobalStore(usermacrosKey, config.Macros), - GlobalStore(enabledSubstitutionsKey, attributeDeclarations()), + GlobalStore(enabledSubstitutionsKey, normalSubstitutions()), } opts = append(opts, options...) return &ParseContext{ diff --git a/pkg/parser/document_preprocessing.go b/pkg/parser/document_preprocessing.go index 6141aa22..d7481951 100644 --- a/pkg/parser/document_preprocessing.go +++ b/pkg/parser/document_preprocessing.go @@ -24,7 +24,7 @@ func Preprocess(source io.Reader, config *configuration.Configuration, opts ...O func preprocess(ctx *ParseContext, source io.Reader) (string, error) { if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("processing file inclusions in %s with leveloffset=%s", ctx.filename, spew.Sdump(ctx.levelOffsets)) + log.Debugf("preprocessing file inclusions in %s with leveloffset=%s", ctx.filename, spew.Sdump(ctx.levelOffsets)) } b := &builder{ enabled: true, @@ -40,9 +40,9 @@ func preprocess(ctx *ParseContext, source io.Reader) (string, error) { // content of line was not relevant in the context of preparsing (ie, it's a regular line), so let's keep it as-is b.Write(line) } else { - if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("checking element of type '%T'", element) - } + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("checking element of type '%T'", element) + // } switch e := element.(type) { case *types.AttributeDeclaration: ctx.attributes.set(e.Name, e.Value) diff --git a/pkg/parser/document_processing_aggregate.go b/pkg/parser/document_processing_aggregate.go index b3f664c3..effabcef 100644 --- a/pkg/parser/document_processing_aggregate.go +++ b/pkg/parser/document_processing_aggregate.go @@ -109,9 +109,9 @@ func aggregate(ctx *ParseContext, fragmentStream <-chan types.DocumentFragment) } func resolveCrossReferences(element interface{}, attrs *contextAttributes) error { - if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("resolving cross references in element of type '%T'", element) - } + // if log.IsLevelEnabled(log.DebugLevel) { + // log.Debugf("resolving cross references in element of type '%T'", element) + // } switch e := element.(type) { case types.WithElements: for _, elmt := range e.GetElements() { diff --git a/pkg/parser/document_processing_apply_substitutions.go b/pkg/parser/document_processing_apply_substitutions.go index fce1633c..9d91b5d6 100644 --- a/pkg/parser/document_processing_apply_substitutions.go +++ b/pkg/parser/document_processing_apply_substitutions.go @@ -3,6 +3,7 @@ package parser import ( "bytes" "fmt" + "sort" "strconv" "strings" "time" @@ -29,7 +30,7 @@ func ApplySubstitutions(ctx *ParseContext, done <-chan interface{}, fragmentStre return } } - log.WithField("pipeline_stage", "apply_substitutions").Debug("done") + log.WithField("pipeline_stage", "apply_substitutions").Info("done") }() return processedFragmentStream } @@ -614,7 +615,8 @@ func parseWithSubstitutions(content interface{}, subs *substitutions, opts ...Op if log.IsLevelEnabled(log.DebugLevel) { log.Debugf("parsing '%s' with '%s' substitutions", serialized, subs.toString()) } - elements, err := parseContent(serialized, append(opts, GlobalStore(enabledSubstitutionsKey, subs))...) + stats := Stats{} + elements, err := parseContent(serialized, append(opts, GlobalStore(enabledSubstitutionsKey, subs))...) // , Statistics(&stats, "no match"), Debug(true) if err != nil { return nil, err } @@ -625,6 +627,28 @@ func parseWithSubstitutions(content interface{}, subs *substitutions, opts ...Op if log.IsLevelEnabled(log.DebugLevel) { log.Debugf("parsed content:\n%s", spew.Sdump(elements)) } + if log.IsLevelEnabled(log.InfoLevel) { + log.Infof("parsed '%s' with '%s' substitutions", serialized, subs.toString()) + log.Infof("stats:") + log.Infof(" expr count: %v", stats.ExprCnt) + rules := make([]string, 0, len(stats.ChoiceAltCnt)) + for rule := range stats.ChoiceAltCnt { + rules = append(rules, rule) + } + sort.Strings(rules) + for _, rule := range rules { + log.Infof(" %s:", rule) + matchs := make([]string, 0, len(stats.ChoiceAltCnt[rule])) + for match := range stats.ChoiceAltCnt[rule] { + matchs = append(matchs, match) + } + sort.Strings(matchs) + for _, match := range matchs { + log.Infof(" - case %s: %d", match, stats.ChoiceAltCnt[rule][match]) + + } + } + } return elements, nil } diff --git a/pkg/parser/document_substitutions.go b/pkg/parser/document_substitutions.go index 1501bef9..53a38ad6 100644 --- a/pkg/parser/document_substitutions.go +++ b/pkg/parser/document_substitutions.go @@ -70,16 +70,6 @@ func attributeSubstitutions() *substitutions { } } -func attributeDeclarations() *substitutions { - return &substitutions{ - sequence: []string{ - InlinePassthroughs, - AttributeRefs, - SpecialCharacters, - }, - } -} - func noneSubstitutions() *substitutions { return &substitutions{} } diff --git a/pkg/parser/link_test.go b/pkg/parser/link_test.go index 1cd08af8..40e4d96a 100644 --- a/pkg/parser/link_test.go +++ b/pkg/parser/link_test.go @@ -200,7 +200,7 @@ a link to <{example}>.` Expect(ParseDocument(source)).To(MatchDocument(expected)) }) - It("with special character in URL", func() { + It("with invalid special character in URL", func() { source := `a link to https://example.com>[].` expected := &types.Document{ Elements: []interface{}{ @@ -212,11 +212,14 @@ a link to <{example}>.` &types.InlineLink{ Location: &types.Location{ Scheme: "https://", - Path: "example.com>", + Path: "example.com", }, }, + &types.SpecialCharacter{ + Name: ">", + }, &types.StringElement{ - Content: ".", + Content: "[].", }, }, }, @@ -289,16 +292,7 @@ a link to <{example}>.` &types.Paragraph{ Elements: []interface{}{ &types.StringElement{ - Content: "write to ", - }, - &types.InlineLink{ - Location: &types.Location{ - Scheme: "mailto:", - Path: "contact.@example.com", - }, - }, - &types.StringElement{ - Content: ".", + Content: "write to contact.@example.com.", // local part must not end with `.` }, }, }, diff --git a/pkg/parser/paragraph_test.go b/pkg/parser/paragraph_test.go index da2e1b0f..29314621 100644 --- a/pkg/parser/paragraph_test.go +++ b/pkg/parser/paragraph_test.go @@ -345,6 +345,33 @@ and another one using attribute substitution: {github-url}[{github-title}]... Context("regular paragraphs", func() { + It("2 inlinewords and a punctuation", func() { + source := "\"`Get moving!`\" he shouted." + expected := &types.Document{ + Elements: []interface{}{ + &types.Paragraph{ + Elements: []interface{}{ + &types.Symbol{ + Name: "\"`", + }, + &types.StringElement{ + Content: "Get moving!", + }, + &types.Symbol{ + Name: "`\"", + }, + &types.StringElement{ + Content: " he shouted.", + }, + }, + }, + }, + } + result, err := ParseDocument(source) + Expect(err).NotTo(HaveOccurred()) + Expect(result).To(MatchDocument(expected)) + }) + It("3 with basic content", func() { source := `cookie diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 9ecc507d..fcbbf1d3 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -45,28 +45,28 @@ var g = &grammar{ name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 360, col: 19, offset: 10907}, + pos: position{line: 360, col: 19, offset: 10911}, run: (*parser).callonDocumentRawLine6, expr: &seqExpr{ - pos: position{line: 360, col: 19, offset: 10907}, + pos: position{line: 360, col: 19, offset: 10911}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 360, col: 19, offset: 10907}, + pos: position{line: 360, col: 19, offset: 10911}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 360, col: 24, offset: 10912}, + pos: position{line: 360, col: 24, offset: 10916}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine10, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -74,9 +74,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -89,48 +89,48 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 360, col: 45, offset: 10933}, + pos: position{line: 360, col: 45, offset: 10937}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 360, col: 49, offset: 10937}, + pos: position{line: 360, col: 49, offset: 10941}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine17, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine20, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -139,9 +139,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -150,28 +150,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 362, col: 9, offset: 11028}, + pos: position{line: 362, col: 9, offset: 11032}, run: (*parser).callonDocumentRawLine27, expr: &seqExpr{ - pos: position{line: 362, col: 9, offset: 11028}, + pos: position{line: 362, col: 9, offset: 11032}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 362, col: 9, offset: 11028}, + pos: position{line: 362, col: 9, offset: 11032}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 362, col: 13, offset: 11032}, + pos: position{line: 362, col: 13, offset: 11036}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine31, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -179,9 +179,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -194,48 +194,48 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 362, col: 34, offset: 11053}, + pos: position{line: 362, col: 34, offset: 11057}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 362, col: 39, offset: 11058}, + pos: position{line: 362, col: 39, offset: 11062}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine38, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine41, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -244,9 +244,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -324,21 +324,21 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 70, col: 97, offset: 1850}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine64, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -410,21 +410,21 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 74, col: 99, offset: 2028}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine83, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -464,31 +464,31 @@ var g = &grammar{ pos: position{line: 92, col: 11, offset: 2501}, label: "s", expr: &choiceExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, run: (*parser).callonDocumentRawLine97, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine101, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -496,9 +496,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -511,7 +511,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -520,28 +520,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, run: (*parser).callonDocumentRawLine107, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine111, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -549,9 +549,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -564,7 +564,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -600,31 +600,31 @@ var g = &grammar{ pos: position{line: 93, col: 12, offset: 2564}, label: "s", expr: &choiceExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, run: (*parser).callonDocumentRawLine123, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine127, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -632,9 +632,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -647,7 +647,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -656,28 +656,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, run: (*parser).callonDocumentRawLine133, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine137, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -685,9 +685,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -700,7 +700,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -727,31 +727,31 @@ var g = &grammar{ pos: position{line: 94, col: 8, offset: 2622}, label: "s", expr: &choiceExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, run: (*parser).callonDocumentRawLine147, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine151, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -759,9 +759,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -774,7 +774,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -783,28 +783,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, run: (*parser).callonDocumentRawLine157, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine161, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -812,9 +812,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -827,7 +827,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -920,24 +920,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonDocumentRawLine183, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -953,12 +953,12 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 84, col: 35, offset: 2262}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine190, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -1036,12 +1036,12 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 85, col: 39, offset: 2308}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine207, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -1069,31 +1069,31 @@ var g = &grammar{ pos: position{line: 92, col: 11, offset: 2501}, label: "s", expr: &choiceExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, run: (*parser).callonDocumentRawLine216, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine220, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1101,9 +1101,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1116,7 +1116,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1125,28 +1125,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, run: (*parser).callonDocumentRawLine226, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine230, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1154,9 +1154,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1169,7 +1169,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1205,31 +1205,31 @@ var g = &grammar{ pos: position{line: 93, col: 12, offset: 2564}, label: "s", expr: &choiceExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, run: (*parser).callonDocumentRawLine242, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine246, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1237,9 +1237,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1252,7 +1252,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1261,28 +1261,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, run: (*parser).callonDocumentRawLine252, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine256, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1290,9 +1290,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1305,7 +1305,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1332,31 +1332,31 @@ var g = &grammar{ pos: position{line: 94, col: 8, offset: 2622}, label: "s", expr: &choiceExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, run: (*parser).callonDocumentRawLine266, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine270, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1364,9 +1364,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1379,7 +1379,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1388,28 +1388,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, run: (*parser).callonDocumentRawLine276, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonDocumentRawLine280, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1417,9 +1417,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -1432,7 +1432,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -1525,24 +1525,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonDocumentRawLine302, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -1564,21 +1564,21 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 87, col: 5, offset: 2360}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine310, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -1653,36 +1653,36 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 123, col: 98, offset: 3417}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine330, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &actionExpr{ - pos: position{line: 723, col: 5, offset: 23016}, + pos: position{line: 724, col: 5, offset: 23039}, run: (*parser).callonDocumentRawLine334, expr: &seqExpr{ - pos: position{line: 723, col: 5, offset: 23016}, + pos: position{line: 724, col: 5, offset: 23039}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 723, col: 5, offset: 23016}, + pos: position{line: 724, col: 5, offset: 23039}, expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, + pos: position{line: 2746, col: 13, offset: 87373}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -1690,36 +1690,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 724, col: 5, offset: 23046}, + pos: position{line: 725, col: 5, offset: 23069}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 725, col: 9, offset: 23066}, + pos: position{line: 726, col: 9, offset: 23089}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, run: (*parser).callonDocumentRawLine340, expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, run: (*parser).callonDocumentRawLine343, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, val: "/", ignoreCase: false, want: "\"/\"", @@ -1730,42 +1730,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, + pos: position{line: 742, col: 8, offset: 23683}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine349, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine352, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1774,9 +1774,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -1785,30 +1785,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, run: (*parser).callonDocumentRawLine359, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, run: (*parser).callonDocumentRawLine362, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, val: "=", ignoreCase: false, want: "\"=\"", @@ -1819,42 +1819,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 749, col: 8, offset: 23931}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine368, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine371, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1863,9 +1863,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -1874,27 +1874,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 760, col: 26, offset: 24317}, run: (*parser).callonDocumentRawLine378, expr: &seqExpr{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 760, col: 26, offset: 24317}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 760, col: 26, offset: 24317}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 759, col: 32, offset: 24300}, + pos: position{line: 760, col: 32, offset: 24323}, label: "language", expr: &actionExpr{ - pos: position{line: 763, col: 13, offset: 24430}, + pos: position{line: 764, col: 13, offset: 24453}, run: (*parser).callonDocumentRawLine382, expr: &oneOrMoreExpr{ - pos: position{line: 763, col: 14, offset: 24431}, + pos: position{line: 764, col: 14, offset: 24454}, expr: &charClassMatcher{ - pos: position{line: 763, col: 14, offset: 24431}, + pos: position{line: 764, col: 14, offset: 24454}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -1904,42 +1904,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 52, offset: 24320}, + pos: position{line: 760, col: 52, offset: 24343}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine386, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine389, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1948,9 +1948,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -1959,30 +1959,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, run: (*parser).callonDocumentRawLine396, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, run: (*parser).callonDocumentRawLine399, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, val: "`", ignoreCase: false, want: "\"`\"", @@ -1993,42 +1993,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 756, col: 8, offset: 24177}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine405, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine408, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2037,9 +2037,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2048,30 +2048,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, run: (*parser).callonDocumentRawLine415, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, run: (*parser).callonDocumentRawLine418, expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, val: "-", ignoreCase: false, want: "\"-\"", @@ -2082,42 +2082,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine424, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine427, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2126,9 +2126,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2137,30 +2137,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, run: (*parser).callonDocumentRawLine434, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, run: (*parser).callonDocumentRawLine437, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, val: ".", ignoreCase: false, want: "\".\"", @@ -2171,42 +2171,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine443, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine446, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2215,9 +2215,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2226,30 +2226,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, run: (*parser).callonDocumentRawLine453, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, run: (*parser).callonDocumentRawLine456, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, val: "+", ignoreCase: false, want: "\"+\"", @@ -2260,42 +2260,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine462, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine465, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2304,9 +2304,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2315,30 +2315,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, run: (*parser).callonDocumentRawLine472, expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, run: (*parser).callonDocumentRawLine475, expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, val: "_", ignoreCase: false, want: "\"_\"", @@ -2349,42 +2349,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, + pos: position{line: 799, col: 8, offset: 25693}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine481, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine484, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2393,9 +2393,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2404,30 +2404,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, run: (*parser).callonDocumentRawLine491, expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, run: (*parser).callonDocumentRawLine494, expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, val: "*", ignoreCase: false, want: "\"*\"", @@ -2438,42 +2438,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonDocumentRawLine500, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonDocumentRawLine503, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2482,9 +2482,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2534,26 +2534,26 @@ var g = &grammar{ run: (*parser).callonDocumentRawLine518, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, run: (*parser).callonDocumentRawLine519, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, run: (*parser).callonDocumentRawLine522, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -2562,9 +2562,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2574,9 +2574,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -2611,87 +2611,279 @@ var g = &grammar{ pos: position{line: 137, col: 9, offset: 3810}, label: "path", expr: &actionExpr{ - pos: position{line: 2865, col: 17, offset: 90757}, + pos: position{line: 2856, col: 17, offset: 90122}, run: (*parser).callonFileInclusion8, expr: &labeledExpr{ - pos: position{line: 2865, col: 17, offset: 90757}, + pos: position{line: 2856, col: 17, offset: 90122}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2865, col: 22, offset: 90762}, + pos: position{line: 2856, col: 22, offset: 90127}, expr: &choiceExpr{ - pos: position{line: 2865, col: 23, offset: 90763}, + pos: position{line: 2856, col: 23, offset: 90128}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, + pos: position{line: 2873, col: 5, offset: 90621}, run: (*parser).callonFileInclusion12, expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, + pos: position{line: 2873, col: 5, offset: 90621}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, + pos: position{line: 2873, col: 5, offset: 90621}, expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, + pos: position{line: 2873, col: 6, offset: 90622}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, + pos: position{line: 2874, col: 5, offset: 90646}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, + pos: position{line: 2874, col: 14, offset: 90655}, expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, + pos: position{line: 2875, col: 9, offset: 90665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, + pos: position{line: 2875, col: 9, offset: 90665}, run: (*parser).callonFileInclusion19, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, + pos: position{line: 2875, col: 9, offset: 90665}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, ignoreCase: false, inverted: true, }, }, }, &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, + pos: position{line: 2878, col: 11, offset: 90917}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, + pos: position{line: 2801, col: 8, offset: 88554}, run: (*parser).callonFileInclusion23, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFileInclusion34, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonFileInclusion37, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFileInclusion44, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonFileInclusion46, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonFileInclusion54, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonFileInclusion57, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonFileInclusion60, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonFileInclusion63, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, + pos: position{line: 2879, col: 23, offset: 90961}, expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, + pos: position{line: 2879, col: 25, offset: 90963}, expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, + pos: position{line: 2879, col: 27, offset: 90965}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonFileInclusion30, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFileInclusion70, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -2703,44 +2895,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonFileInclusion32, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonFileInclusion72, expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, + pos: position{line: 636, col: 5, offset: 20111}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonFileInclusion34, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonFileInclusion74, }, &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, + pos: position{line: 639, col: 5, offset: 20178}, label: "element", expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, + pos: position{line: 639, col: 14, offset: 20187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonFileInclusion37, + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonFileInclusion77, expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"{counter:\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileInclusion41, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileInclusion81, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -2748,9 +2940,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -2762,56 +2954,53 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonFileInclusion87, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonFileInclusion48, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileInclusion91, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonFileInclusion53, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonFileInclusion55, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + inverted: false, }, }, }, @@ -2819,7 +3008,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2828,28 +3017,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonFileInclusion59, + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonFileInclusion97, expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, + pos: position{line: 658, col: 25, offset: 20788}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", ignoreCase: false, - want: "\"{counter2:\"", + want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, + pos: position{line: 658, col: 37, offset: 20800}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileInclusion63, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileInclusion101, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -2857,9 +3046,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -2872,33 +3061,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, + pos: position{line: 658, col: 56, offset: 20819}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, + pos: position{line: 658, col: 62, offset: 20825}, expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonFileInclusion70, + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonFileInclusion108, expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, + pos: position{line: 666, col: 21, offset: 21124}, label: "start", expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonFileInclusion75, + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonFileInclusion113, expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -2906,12 +3095,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonFileInclusion77, + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonFileInclusion115, expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -2928,7 +3117,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, + pos: position{line: 658, col: 78, offset: 20841}, val: "}", ignoreCase: false, want: "\"}\"", @@ -2937,28 +3126,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonFileInclusion81, + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonFileInclusion119, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 662, col: 25, offset: 20959}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", ignoreCase: false, - want: "\"\\\\{\"", + want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 662, col: 38, offset: 20972}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileInclusion85, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileInclusion123, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -2966,9 +3155,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -2980,53 +3169,56 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonFileInclusion91, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileInclusion95, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonFileInclusion130, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonFileInclusion135, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonFileInclusion137, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, }, @@ -3034,7 +3226,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 662, col: 79, offset: 21013}, val: "}", ignoreCase: false, want: "\"}\"", @@ -3049,10 +3241,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonFileInclusion101, + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonFileInclusion141, expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, + pos: position{line: 2881, col: 11, offset: 91036}, val: "{", ignoreCase: false, want: "\"{\"", @@ -3066,27 +3258,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonFileInclusion103, + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonFileInclusion143, expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, + pos: position{line: 1198, col: 23, offset: 36969}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, + pos: position{line: 1196, col: 32, offset: 36937}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, + pos: position{line: 1198, col: 51, offset: 36997}, label: "ref", expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonFileInclusion107, + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonFileInclusion147, expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3096,7 +3288,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, + pos: position{line: 1196, col: 32, offset: 36937}, val: "�", ignoreCase: false, want: "\"�\"", @@ -3125,40 +3317,40 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 142, col: 5, offset: 4006}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonFileInclusion114, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFileInclusion154, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonFileInclusion117, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonFileInclusion157, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -3167,9 +3359,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -3215,24 +3407,24 @@ var g = &grammar{ pos: position{line: 165, col: 19, offset: 4708}, label: "start", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges12, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3253,24 +3445,24 @@ var g = &grammar{ pos: position{line: 165, col: 40, offset: 4729}, label: "end", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges20, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3291,24 +3483,24 @@ var g = &grammar{ pos: position{line: 169, col: 20, offset: 4850}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges28, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3357,24 +3549,24 @@ var g = &grammar{ pos: position{line: 165, col: 19, offset: 4708}, label: "start", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges44, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3395,24 +3587,24 @@ var g = &grammar{ pos: position{line: 165, col: 40, offset: 4729}, label: "end", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges52, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3433,24 +3625,24 @@ var g = &grammar{ pos: position{line: 169, col: 20, offset: 4850}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges60, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3483,24 +3675,24 @@ var g = &grammar{ pos: position{line: 165, col: 19, offset: 4708}, label: "start", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges69, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3521,24 +3713,24 @@ var g = &grammar{ pos: position{line: 165, col: 40, offset: 4729}, label: "end", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges77, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3559,24 +3751,24 @@ var g = &grammar{ pos: position{line: 169, col: 20, offset: 4850}, label: "singleline", expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, + pos: position{line: 2894, col: 12, offset: 91367}, run: (*parser).callonLineRanges85, expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, + pos: position{line: 2894, col: 13, offset: 91368}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, + pos: position{line: 2894, col: 18, offset: 91373}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3592,9 +3784,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -3635,12 +3827,12 @@ var g = &grammar{ pos: position{line: 187, col: 18, offset: 5451}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, run: (*parser).callonTagRanges11, expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -3701,12 +3893,12 @@ var g = &grammar{ pos: position{line: 189, col: 18, offset: 5548}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, run: (*parser).callonTagRanges26, expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -3787,12 +3979,12 @@ var g = &grammar{ pos: position{line: 187, col: 18, offset: 5451}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, run: (*parser).callonTagRanges46, expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -3853,12 +4045,12 @@ var g = &grammar{ pos: position{line: 189, col: 18, offset: 5548}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, run: (*parser).callonTagRanges61, expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -3915,9 +4107,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -3960,12 +4152,12 @@ var g = &grammar{ pos: position{line: 207, col: 38, offset: 6102}, run: (*parser).callonIncludedFileLine10, expr: &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, run: (*parser).callonIncludedFileLine11, expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -4003,12 +4195,12 @@ var g = &grammar{ pos: position{line: 211, col: 36, offset: 6250}, run: (*parser).callonIncludedFileLine19, expr: &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, run: (*parser).callonIncludedFileLine20, expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, + pos: position{line: 2750, col: 14, offset: 87447}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -4039,28 +4231,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonIncludedFileLine27, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4069,9 +4261,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4089,77 +4281,74 @@ var g = &grammar{ expr: &seqExpr{ pos: position{line: 228, col: 5, offset: 6800}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 228, col: 5, offset: 6800}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 229, col: 5, offset: 6809}, + pos: position{line: 229, col: 5, offset: 6811}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 229, col: 16, offset: 6820}, + pos: position{line: 229, col: 16, offset: 6822}, expr: &ruleRefExpr{ - pos: position{line: 229, col: 17, offset: 6821}, + pos: position{line: 229, col: 17, offset: 6823}, name: "BlockAttributes", }, }, }, &stateCodeExpr{ - pos: position{line: 230, col: 5, offset: 6844}, - run: (*parser).callonDocumentFragment9, + pos: position{line: 230, col: 5, offset: 6846}, + run: (*parser).callonDocumentFragment8, }, &labeledExpr{ - pos: position{line: 236, col: 5, offset: 6998}, + pos: position{line: 236, col: 5, offset: 7000}, label: "element", expr: &zeroOrOneExpr{ - pos: position{line: 236, col: 13, offset: 7006}, + pos: position{line: 236, col: 13, offset: 7008}, expr: &choiceExpr{ - pos: position{line: 237, col: 9, offset: 7016}, + pos: position{line: 237, col: 9, offset: 7018}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 237, col: 9, offset: 7016}, + pos: position{line: 237, col: 9, offset: 7018}, name: "ImageBlock", }, &ruleRefExpr{ - pos: position{line: 238, col: 11, offset: 7077}, + pos: position{line: 238, col: 11, offset: 7079}, name: "UserMacroBlock", }, &ruleRefExpr{ - pos: position{line: 239, col: 11, offset: 7142}, + pos: position{line: 239, col: 11, offset: 7144}, name: "ShortcutParagraph", }, &ruleRefExpr{ - pos: position{line: 240, col: 11, offset: 7170}, + pos: position{line: 240, col: 11, offset: 7172}, name: "AttributeDeclaration", }, &actionExpr{ - pos: position{line: 360, col: 19, offset: 10907}, - run: (*parser).callonDocumentFragment17, + pos: position{line: 360, col: 19, offset: 10911}, + run: (*parser).callonDocumentFragment16, expr: &seqExpr{ - pos: position{line: 360, col: 19, offset: 10907}, + pos: position{line: 360, col: 19, offset: 10911}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 360, col: 19, offset: 10907}, + pos: position{line: 360, col: 19, offset: 10911}, val: ":!", ignoreCase: false, want: "\":!\"", }, &labeledExpr{ - pos: position{line: 360, col: 24, offset: 10912}, + pos: position{line: 360, col: 24, offset: 10916}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDocumentFragment21, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDocumentFragment20, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -4167,9 +4356,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -4182,48 +4371,48 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 360, col: 45, offset: 10933}, + pos: position{line: 360, col: 45, offset: 10937}, val: ":", ignoreCase: false, want: "\":\"", }, &zeroOrMoreExpr{ - pos: position{line: 360, col: 49, offset: 10937}, + pos: position{line: 360, col: 49, offset: 10941}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment28, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment27, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment31, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment30, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4232,9 +4421,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4243,28 +4432,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 362, col: 9, offset: 11028}, - run: (*parser).callonDocumentFragment38, + pos: position{line: 362, col: 9, offset: 11032}, + run: (*parser).callonDocumentFragment37, expr: &seqExpr{ - pos: position{line: 362, col: 9, offset: 11028}, + pos: position{line: 362, col: 9, offset: 11032}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 362, col: 9, offset: 11028}, + pos: position{line: 362, col: 9, offset: 11032}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 362, col: 13, offset: 11032}, + pos: position{line: 362, col: 13, offset: 11036}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDocumentFragment42, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDocumentFragment41, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -4272,9 +4461,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -4287,48 +4476,48 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 362, col: 34, offset: 11053}, + pos: position{line: 362, col: 34, offset: 11057}, val: "!:", ignoreCase: false, want: "\"!:\"", }, &zeroOrMoreExpr{ - pos: position{line: 362, col: 39, offset: 11058}, + pos: position{line: 362, col: 39, offset: 11062}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment49, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment48, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment52, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment51, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4337,9 +4526,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4348,57 +4537,54 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonDocumentFragment59, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonDocumentFragment58, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment65, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment63, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment68, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment66, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4407,9 +4593,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4418,44 +4604,44 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 243, col: 11, offset: 7246}, + pos: position{line: 243, col: 11, offset: 7248}, name: "DocumentHeader", }, &ruleRefExpr{ - pos: position{line: 244, col: 11, offset: 7272}, + pos: position{line: 244, col: 11, offset: 7274}, name: "Section", }, &actionExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - run: (*parser).callonDocumentFragment77, + pos: position{line: 820, col: 5, offset: 26321}, + run: (*parser).callonDocumentFragment75, expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26296}, + pos: position{line: 820, col: 5, offset: 26321}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentFragment79, + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentFragment77, expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentFragment82, + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentFragment80, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, val: "/", ignoreCase: false, want: "\"/\"", @@ -4466,42 +4652,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, + pos: position{line: 742, col: 8, offset: 23683}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment88, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment86, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment91, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment89, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4510,9 +4696,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4521,46 +4707,46 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26327}, + pos: position{line: 821, col: 5, offset: 26352}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 830, col: 5, offset: 26613}, + pos: position{line: 831, col: 5, offset: 26638}, expr: &actionExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - run: (*parser).callonDocumentFragment100, + pos: position{line: 831, col: 6, offset: 26639}, + run: (*parser).callonDocumentFragment98, expr: &seqExpr{ - pos: position{line: 830, col: 6, offset: 26614}, + pos: position{line: 831, col: 6, offset: 26639}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 830, col: 6, offset: 26614}, + pos: position{line: 831, col: 6, offset: 26639}, expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, + pos: position{line: 828, col: 29, offset: 26581}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentFragment104, + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentFragment102, expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentFragment107, + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentFragment105, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, val: "/", ignoreCase: false, want: "\"/\"", @@ -4571,42 +4757,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, + pos: position{line: 742, col: 8, offset: 23683}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment113, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment111, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment116, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment114, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4615,9 +4801,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4626,42 +4812,39 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 831, col: 5, offset: 26644}, + pos: position{line: 832, col: 5, offset: 26669}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment126, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment124, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment132, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment129, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -4671,28 +4854,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment136, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment133, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4701,9 +4884,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4718,35 +4901,35 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26361}, + pos: position{line: 822, col: 5, offset: 26386}, expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, + pos: position{line: 828, col: 29, offset: 26581}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentFragment145, + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentFragment142, expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentFragment148, + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentFragment145, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, val: "/", ignoreCase: false, want: "\"/\"", @@ -4757,42 +4940,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, + pos: position{line: 742, col: 8, offset: 23683}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment154, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment151, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment157, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment154, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4801,9 +4984,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4812,9 +4995,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4824,39 +5007,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 839, col: 5, offset: 26797}, - run: (*parser).callonDocumentFragment166, + pos: position{line: 840, col: 5, offset: 26822}, + run: (*parser).callonDocumentFragment163, expr: &seqExpr{ - pos: position{line: 839, col: 5, offset: 26797}, + pos: position{line: 840, col: 5, offset: 26822}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 839, col: 5, offset: 26797}, + pos: position{line: 840, col: 5, offset: 26822}, label: "start", expr: &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonDocumentFragment169, + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonDocumentFragment166, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonDocumentFragment172, + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonDocumentFragment169, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, val: "=", ignoreCase: false, want: "\"=\"", @@ -4867,42 +5050,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 749, col: 8, offset: 23931}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment178, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment175, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment181, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment178, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4911,9 +5094,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -4923,56 +5106,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 840, col: 5, offset: 26836}, - run: (*parser).callonDocumentFragment188, + pos: position{line: 841, col: 5, offset: 26861}, + run: (*parser).callonDocumentFragment185, }, &labeledExpr{ - pos: position{line: 843, col: 5, offset: 26928}, + pos: position{line: 844, col: 5, offset: 26953}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 858, col: 4, offset: 27325}, + pos: position{line: 859, col: 4, offset: 27350}, expr: &actionExpr{ - pos: position{line: 858, col: 5, offset: 27326}, - run: (*parser).callonDocumentFragment191, + pos: position{line: 859, col: 5, offset: 27351}, + run: (*parser).callonDocumentFragment188, expr: &seqExpr{ - pos: position{line: 858, col: 5, offset: 27326}, + pos: position{line: 859, col: 5, offset: 27351}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 858, col: 5, offset: 27326}, + pos: position{line: 859, col: 5, offset: 27351}, expr: &choiceExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 852, col: 5, offset: 27193}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 852, col: 5, offset: 27193}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 852, col: 5, offset: 27193}, label: "end", expr: &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonDocumentFragment197, + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonDocumentFragment194, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonDocumentFragment200, + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonDocumentFragment197, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, val: "=", ignoreCase: false, want: "\"=\"", @@ -4983,42 +5166,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 749, col: 8, offset: 23931}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment206, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment203, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment209, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment206, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5027,9 +5210,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -5039,48 +5222,420 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 852, col: 5, offset: 27199}, - run: (*parser).callonDocumentFragment216, + pos: position{line: 853, col: 5, offset: 27224}, + run: (*parser).callonDocumentFragment213, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 859, col: 5, offset: 27356}, + pos: position{line: 860, col: 5, offset: 27381}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment220, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment217, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment222, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment226, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 845, col: 5, offset: 26987}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 845, col: 9, offset: 26991}, + expr: &choiceExpr{ + pos: position{line: 852, col: 5, offset: 27193}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 852, col: 5, offset: 27193}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 852, col: 5, offset: 27193}, + label: "end", + expr: &actionExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonDocumentFragment238, + expr: &seqExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonDocumentFragment241, + expr: &seqExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 747, col: 16, offset: 23840}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 747, col: 23, offset: 23847}, + expr: &litMatcher{ + pos: position{line: 747, col: 23, offset: 23847}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 749, col: 8, offset: 23931}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment247, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment250, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 853, col: 5, offset: 27224}, + run: (*parser).callonDocumentFragment257, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 952, col: 5, offset: 29673}, + run: (*parser).callonDocumentFragment260, + expr: &seqExpr{ + pos: position{line: 952, col: 5, offset: 29673}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 952, col: 5, offset: 29673}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 760, col: 26, offset: 24317}, + run: (*parser).callonDocumentFragment263, + expr: &seqExpr{ + pos: position{line: 760, col: 26, offset: 24317}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 760, col: 26, offset: 24317}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 760, col: 32, offset: 24323}, + label: "language", + expr: &actionExpr{ + pos: position{line: 764, col: 13, offset: 24453}, + run: (*parser).callonDocumentFragment267, + expr: &oneOrMoreExpr{ + pos: position{line: 764, col: 14, offset: 24454}, + expr: &charClassMatcher{ + pos: position{line: 764, col: 14, offset: 24454}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 52, offset: 24343}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment271, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment274, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 953, col: 5, offset: 29719}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 966, col: 5, offset: 30192}, + expr: &actionExpr{ + pos: position{line: 966, col: 6, offset: 30193}, + run: (*parser).callonDocumentFragment283, + expr: &seqExpr{ + pos: position{line: 966, col: 6, offset: 30193}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 966, col: 6, offset: 30193}, + expr: &seqExpr{ + pos: position{line: 963, col: 34, offset: 30140}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 963, col: 34, offset: 30140}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 963, col: 40, offset: 30146}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment289, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment292, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 967, col: 5, offset: 30228}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment300, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment226, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment305, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5090,28 +5645,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment230, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment309, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5120,387 +5675,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 844, col: 5, offset: 26962}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 844, col: 9, offset: 26966}, - expr: &choiceExpr{ - pos: position{line: 851, col: 5, offset: 27168}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 851, col: 5, offset: 27168}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 851, col: 5, offset: 27168}, - label: "end", - expr: &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonDocumentFragment242, - expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonDocumentFragment245, - expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, - val: "====", - ignoreCase: false, - want: "\"====\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, - expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment251, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment254, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 852, col: 5, offset: 27199}, - run: (*parser).callonDocumentFragment261, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 951, col: 5, offset: 29648}, - run: (*parser).callonDocumentFragment264, - expr: &seqExpr{ - pos: position{line: 951, col: 5, offset: 29648}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 951, col: 5, offset: 29648}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 759, col: 26, offset: 24294}, - run: (*parser).callonDocumentFragment267, - expr: &seqExpr{ - pos: position{line: 759, col: 26, offset: 24294}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 759, col: 26, offset: 24294}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &labeledExpr{ - pos: position{line: 759, col: 32, offset: 24300}, - label: "language", - expr: &actionExpr{ - pos: position{line: 763, col: 13, offset: 24430}, - run: (*parser).callonDocumentFragment271, - expr: &oneOrMoreExpr{ - pos: position{line: 763, col: 14, offset: 24431}, - expr: &charClassMatcher{ - pos: position{line: 763, col: 14, offset: 24431}, - val: "[^\\r\\n` ]", - chars: []rune{'\r', '\n', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 759, col: 52, offset: 24320}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment275, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment278, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 952, col: 5, offset: 29694}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 965, col: 5, offset: 30167}, - expr: &actionExpr{ - pos: position{line: 965, col: 6, offset: 30168}, - run: (*parser).callonDocumentFragment287, - expr: &seqExpr{ - pos: position{line: 965, col: 6, offset: 30168}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 965, col: 6, offset: 30168}, - expr: &seqExpr{ - pos: position{line: 962, col: 34, offset: 30115}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 962, col: 34, offset: 30115}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 962, col: 40, offset: 30121}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment293, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment296, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 966, col: 5, offset: 30203}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment304, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment310, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment314, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -5515,53 +5692,53 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 953, col: 5, offset: 29733}, + pos: position{line: 954, col: 5, offset: 29758}, expr: &seqExpr{ - pos: position{line: 962, col: 34, offset: 30115}, + pos: position{line: 963, col: 34, offset: 30140}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 962, col: 34, offset: 30115}, + pos: position{line: 963, col: 34, offset: 30140}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 962, col: 40, offset: 30121}, + pos: position{line: 963, col: 40, offset: 30146}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment325, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment320, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment328, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment323, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5570,9 +5747,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -5584,39 +5761,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 867, col: 5, offset: 27509}, - run: (*parser).callonDocumentFragment335, + pos: position{line: 868, col: 5, offset: 27534}, + run: (*parser).callonDocumentFragment330, expr: &seqExpr{ - pos: position{line: 867, col: 5, offset: 27509}, + pos: position{line: 868, col: 5, offset: 27534}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 867, col: 5, offset: 27509}, + pos: position{line: 868, col: 5, offset: 27534}, label: "start", expr: &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonDocumentFragment338, + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonDocumentFragment333, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonDocumentFragment341, + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonDocumentFragment336, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, val: "`", ignoreCase: false, want: "\"`\"", @@ -5627,42 +5804,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 756, col: 8, offset: 24177}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment347, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment342, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment350, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment345, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5671,9 +5848,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -5683,56 +5860,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 868, col: 5, offset: 27547}, - run: (*parser).callonDocumentFragment357, + pos: position{line: 869, col: 5, offset: 27572}, + run: (*parser).callonDocumentFragment352, }, &labeledExpr{ - pos: position{line: 871, col: 5, offset: 27639}, + pos: position{line: 872, col: 5, offset: 27664}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 886, col: 5, offset: 28029}, + pos: position{line: 887, col: 5, offset: 28054}, expr: &actionExpr{ - pos: position{line: 886, col: 6, offset: 28030}, - run: (*parser).callonDocumentFragment360, + pos: position{line: 887, col: 6, offset: 28055}, + run: (*parser).callonDocumentFragment355, expr: &seqExpr{ - pos: position{line: 886, col: 6, offset: 28030}, + pos: position{line: 887, col: 6, offset: 28055}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 886, col: 6, offset: 28030}, + pos: position{line: 887, col: 6, offset: 28055}, expr: &choiceExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 880, col: 5, offset: 27898}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 880, col: 5, offset: 27898}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 880, col: 5, offset: 27898}, label: "end", expr: &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonDocumentFragment366, + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonDocumentFragment361, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonDocumentFragment369, + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonDocumentFragment364, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, val: "`", ignoreCase: false, want: "\"`\"", @@ -5743,42 +5920,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 756, col: 8, offset: 24177}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment375, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment370, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment378, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment373, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5787,9 +5964,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -5799,48 +5976,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 880, col: 5, offset: 27903}, - run: (*parser).callonDocumentFragment385, + pos: position{line: 881, col: 5, offset: 27928}, + run: (*parser).callonDocumentFragment380, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 887, col: 5, offset: 28059}, + pos: position{line: 888, col: 5, offset: 28084}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment389, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment384, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment395, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment389, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5850,28 +6024,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment399, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment393, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5880,9 +6054,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -5897,44 +6071,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 872, col: 5, offset: 27672}, + pos: position{line: 873, col: 5, offset: 27697}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 872, col: 9, offset: 27676}, + pos: position{line: 873, col: 9, offset: 27701}, expr: &choiceExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 880, col: 5, offset: 27898}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 880, col: 5, offset: 27898}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 880, col: 5, offset: 27898}, label: "end", expr: &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonDocumentFragment411, + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonDocumentFragment405, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonDocumentFragment414, + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonDocumentFragment408, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, val: "`", ignoreCase: false, want: "\"`\"", @@ -5945,42 +6119,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 756, col: 8, offset: 24177}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment420, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment414, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment423, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment417, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5989,9 +6163,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6001,15 +6175,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 880, col: 5, offset: 27903}, - run: (*parser).callonDocumentFragment430, + pos: position{line: 881, col: 5, offset: 27928}, + run: (*parser).callonDocumentFragment424, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6020,39 +6194,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 895, col: 5, offset: 28214}, - run: (*parser).callonDocumentFragment433, + pos: position{line: 896, col: 5, offset: 28239}, + run: (*parser).callonDocumentFragment427, expr: &seqExpr{ - pos: position{line: 895, col: 5, offset: 28214}, + pos: position{line: 896, col: 5, offset: 28239}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 895, col: 5, offset: 28214}, + pos: position{line: 896, col: 5, offset: 28239}, label: "start", expr: &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonDocumentFragment436, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonDocumentFragment430, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonDocumentFragment439, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonDocumentFragment433, expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, val: "-", ignoreCase: false, want: "\"-\"", @@ -6063,42 +6237,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment445, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment439, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment448, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment442, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6107,9 +6281,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6119,56 +6293,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 896, col: 5, offset: 28253}, - run: (*parser).callonDocumentFragment455, + pos: position{line: 897, col: 5, offset: 28278}, + run: (*parser).callonDocumentFragment449, }, &labeledExpr{ - pos: position{line: 899, col: 5, offset: 28345}, + pos: position{line: 900, col: 5, offset: 28370}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 914, col: 5, offset: 28743}, + pos: position{line: 915, col: 5, offset: 28768}, expr: &actionExpr{ - pos: position{line: 914, col: 6, offset: 28744}, - run: (*parser).callonDocumentFragment458, + pos: position{line: 915, col: 6, offset: 28769}, + run: (*parser).callonDocumentFragment452, expr: &seqExpr{ - pos: position{line: 914, col: 6, offset: 28744}, + pos: position{line: 915, col: 6, offset: 28769}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 914, col: 6, offset: 28744}, + pos: position{line: 915, col: 6, offset: 28769}, expr: &choiceExpr{ - pos: position{line: 907, col: 5, offset: 28585}, + pos: position{line: 908, col: 5, offset: 28610}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 907, col: 5, offset: 28585}, + pos: position{line: 908, col: 5, offset: 28610}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 907, col: 5, offset: 28585}, + pos: position{line: 908, col: 5, offset: 28610}, label: "end", expr: &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonDocumentFragment464, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonDocumentFragment458, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonDocumentFragment467, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonDocumentFragment461, expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, val: "-", ignoreCase: false, want: "\"-\"", @@ -6179,42 +6353,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment473, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment467, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment476, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment470, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6223,9 +6397,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6235,48 +6409,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 908, col: 5, offset: 28616}, - run: (*parser).callonDocumentFragment483, + pos: position{line: 909, col: 5, offset: 28641}, + run: (*parser).callonDocumentFragment477, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 915, col: 5, offset: 28774}, + pos: position{line: 916, col: 5, offset: 28799}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment487, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment481, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment493, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment486, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6286,28 +6457,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment497, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment490, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6316,9 +6487,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6333,44 +6504,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 900, col: 5, offset: 28379}, + pos: position{line: 901, col: 5, offset: 28404}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 900, col: 9, offset: 28383}, + pos: position{line: 901, col: 9, offset: 28408}, expr: &choiceExpr{ - pos: position{line: 907, col: 5, offset: 28585}, + pos: position{line: 908, col: 5, offset: 28610}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 907, col: 5, offset: 28585}, + pos: position{line: 908, col: 5, offset: 28610}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 907, col: 5, offset: 28585}, + pos: position{line: 908, col: 5, offset: 28610}, label: "end", expr: &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonDocumentFragment509, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonDocumentFragment502, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonDocumentFragment512, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonDocumentFragment505, expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, val: "-", ignoreCase: false, want: "\"-\"", @@ -6381,42 +6552,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment518, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment511, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment521, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment514, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6425,9 +6596,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6437,15 +6608,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 908, col: 5, offset: 28616}, - run: (*parser).callonDocumentFragment528, + pos: position{line: 909, col: 5, offset: 28641}, + run: (*parser).callonDocumentFragment521, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6456,39 +6627,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 923, col: 5, offset: 28929}, - run: (*parser).callonDocumentFragment531, + pos: position{line: 924, col: 5, offset: 28954}, + run: (*parser).callonDocumentFragment524, expr: &seqExpr{ - pos: position{line: 923, col: 5, offset: 28929}, + pos: position{line: 924, col: 5, offset: 28954}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 923, col: 5, offset: 28929}, + pos: position{line: 924, col: 5, offset: 28954}, label: "start", expr: &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonDocumentFragment534, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonDocumentFragment527, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonDocumentFragment537, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonDocumentFragment530, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, val: ".", ignoreCase: false, want: "\".\"", @@ -6499,42 +6670,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment543, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment536, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment546, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment539, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6543,9 +6714,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6555,56 +6726,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 924, col: 5, offset: 28968}, - run: (*parser).callonDocumentFragment553, + pos: position{line: 925, col: 5, offset: 28993}, + run: (*parser).callonDocumentFragment546, }, &labeledExpr{ - pos: position{line: 927, col: 5, offset: 29060}, + pos: position{line: 928, col: 5, offset: 29085}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 942, col: 5, offset: 29458}, + pos: position{line: 943, col: 5, offset: 29483}, expr: &actionExpr{ - pos: position{line: 942, col: 6, offset: 29459}, - run: (*parser).callonDocumentFragment556, + pos: position{line: 943, col: 6, offset: 29484}, + run: (*parser).callonDocumentFragment549, expr: &seqExpr{ - pos: position{line: 942, col: 6, offset: 29459}, + pos: position{line: 943, col: 6, offset: 29484}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 942, col: 6, offset: 29459}, + pos: position{line: 943, col: 6, offset: 29484}, expr: &choiceExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 936, col: 5, offset: 29325}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 936, col: 5, offset: 29325}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 936, col: 5, offset: 29325}, label: "end", expr: &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonDocumentFragment562, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonDocumentFragment555, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonDocumentFragment565, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonDocumentFragment558, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, val: ".", ignoreCase: false, want: "\".\"", @@ -6615,42 +6786,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment571, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment564, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment574, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment567, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6659,9 +6830,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6671,48 +6842,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 936, col: 5, offset: 29331}, - run: (*parser).callonDocumentFragment581, + pos: position{line: 937, col: 5, offset: 29356}, + run: (*parser).callonDocumentFragment574, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 943, col: 5, offset: 29489}, + pos: position{line: 944, col: 5, offset: 29514}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment585, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment578, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment591, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment583, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6722,28 +6890,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment595, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment587, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6752,9 +6920,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6769,44 +6937,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 928, col: 5, offset: 29094}, + pos: position{line: 929, col: 5, offset: 29119}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 928, col: 9, offset: 29098}, + pos: position{line: 929, col: 9, offset: 29123}, expr: &choiceExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 936, col: 5, offset: 29325}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 936, col: 5, offset: 29325}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 936, col: 5, offset: 29325}, label: "end", expr: &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonDocumentFragment607, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonDocumentFragment599, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonDocumentFragment610, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonDocumentFragment602, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, val: ".", ignoreCase: false, want: "\".\"", @@ -6817,42 +6985,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment616, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment608, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment619, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment611, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6861,9 +7029,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6873,15 +7041,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 936, col: 5, offset: 29331}, - run: (*parser).callonDocumentFragment626, + pos: position{line: 937, col: 5, offset: 29356}, + run: (*parser).callonDocumentFragment618, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6892,74 +7060,71 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 974, col: 5, offset: 30372}, - run: (*parser).callonDocumentFragment629, + pos: position{line: 975, col: 5, offset: 30397}, + run: (*parser).callonDocumentFragment621, expr: &seqExpr{ - pos: position{line: 974, col: 5, offset: 30372}, + pos: position{line: 975, col: 5, offset: 30397}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 974, col: 5, offset: 30372}, + pos: position{line: 975, col: 5, offset: 30397}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 981, col: 5, offset: 30631}, - run: (*parser).callonDocumentFragment632, + pos: position{line: 982, col: 5, offset: 30656}, + run: (*parser).callonDocumentFragment624, expr: &seqExpr{ - pos: position{line: 981, col: 5, offset: 30631}, + pos: position{line: 982, col: 5, offset: 30656}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 981, col: 5, offset: 30631}, + pos: position{line: 982, col: 5, offset: 30656}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonDocumentFragment635, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonDocumentFragment627, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment641, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment632, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment644, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment635, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6968,9 +7133,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -6980,21 +7145,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 982, col: 5, offset: 30646}, + pos: position{line: 983, col: 5, offset: 30671}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 983, col: 5, offset: 30656}, + pos: position{line: 984, col: 5, offset: 30681}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonDocumentFragment653, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonDocumentFragment644, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7004,28 +7169,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment657, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment648, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7034,9 +7199,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7046,73 +7211,70 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 975, col: 5, offset: 30409}, + pos: position{line: 976, col: 5, offset: 30434}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 975, col: 16, offset: 30420}, + pos: position{line: 976, col: 16, offset: 30445}, expr: &choiceExpr{ - pos: position{line: 975, col: 17, offset: 30421}, + pos: position{line: 976, col: 17, offset: 30446}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 981, col: 5, offset: 30631}, - run: (*parser).callonDocumentFragment667, + pos: position{line: 982, col: 5, offset: 30656}, + run: (*parser).callonDocumentFragment658, expr: &seqExpr{ - pos: position{line: 981, col: 5, offset: 30631}, + pos: position{line: 982, col: 5, offset: 30656}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 981, col: 5, offset: 30631}, + pos: position{line: 982, col: 5, offset: 30656}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonDocumentFragment670, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonDocumentFragment661, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment676, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment666, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment679, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment669, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7121,9 +7283,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7133,21 +7295,21 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 982, col: 5, offset: 30646}, + pos: position{line: 983, col: 5, offset: 30671}, val: "> ", ignoreCase: false, want: "\"> \"", }, &labeledExpr{ - pos: position{line: 983, col: 5, offset: 30656}, + pos: position{line: 984, col: 5, offset: 30681}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonDocumentFragment688, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonDocumentFragment678, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7157,28 +7319,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment692, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment682, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7187,9 +7349,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7198,21 +7360,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, - run: (*parser).callonDocumentFragment699, + pos: position{line: 1785, col: 5, offset: 57639}, + run: (*parser).callonDocumentFragment689, expr: &seqExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonDocumentFragment702, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonDocumentFragment692, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7222,32 +7384,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1794, col: 5, offset: 57948}, - run: (*parser).callonDocumentFragment705, + pos: position{line: 1786, col: 5, offset: 57663}, + run: (*parser).callonDocumentFragment695, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment707, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment697, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7256,9 +7418,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7274,28 +7436,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 996, col: 5, offset: 30921}, - run: (*parser).callonDocumentFragment714, + pos: position{line: 997, col: 5, offset: 30946}, + run: (*parser).callonDocumentFragment704, expr: &seqExpr{ - pos: position{line: 996, col: 5, offset: 30921}, + pos: position{line: 997, col: 5, offset: 30946}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 996, col: 5, offset: 30921}, + pos: position{line: 997, col: 5, offset: 30946}, label: "start", expr: &actionExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - run: (*parser).callonDocumentFragment717, + pos: position{line: 776, col: 5, offset: 24858}, + run: (*parser).callonDocumentFragment707, expr: &seqExpr{ - pos: position{line: 775, col: 5, offset: 24835}, + pos: position{line: 776, col: 5, offset: 24858}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24835}, + pos: position{line: 776, col: 5, offset: 24858}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 775, col: 16, offset: 24846}, - run: (*parser).callonDocumentFragment720, + pos: position{line: 776, col: 16, offset: 24869}, + run: (*parser).callonDocumentFragment710, expr: &litMatcher{ - pos: position{line: 775, col: 16, offset: 24846}, + pos: position{line: 776, col: 16, offset: 24869}, val: "--", ignoreCase: false, want: "\"--\"", @@ -7303,42 +7465,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 777, col: 8, offset: 24923}, + pos: position{line: 778, col: 8, offset: 24946}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment723, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment713, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment726, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment716, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7347,9 +7509,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7359,35 +7521,35 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 997, col: 5, offset: 30957}, + pos: position{line: 998, col: 5, offset: 30982}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1007, col: 5, offset: 31225}, + pos: position{line: 1008, col: 5, offset: 31250}, expr: &actionExpr{ - pos: position{line: 1007, col: 6, offset: 31226}, - run: (*parser).callonDocumentFragment735, + pos: position{line: 1008, col: 6, offset: 31251}, + run: (*parser).callonDocumentFragment725, expr: &seqExpr{ - pos: position{line: 1007, col: 6, offset: 31226}, + pos: position{line: 1008, col: 6, offset: 31251}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1007, col: 6, offset: 31226}, + pos: position{line: 1008, col: 6, offset: 31251}, expr: &choiceExpr{ - pos: position{line: 1004, col: 26, offset: 31174}, + pos: position{line: 1005, col: 26, offset: 31199}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - run: (*parser).callonDocumentFragment739, + pos: position{line: 776, col: 5, offset: 24858}, + run: (*parser).callonDocumentFragment729, expr: &seqExpr{ - pos: position{line: 775, col: 5, offset: 24835}, + pos: position{line: 776, col: 5, offset: 24858}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24835}, + pos: position{line: 776, col: 5, offset: 24858}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 775, col: 16, offset: 24846}, - run: (*parser).callonDocumentFragment742, + pos: position{line: 776, col: 16, offset: 24869}, + run: (*parser).callonDocumentFragment732, expr: &litMatcher{ - pos: position{line: 775, col: 16, offset: 24846}, + pos: position{line: 776, col: 16, offset: 24869}, val: "--", ignoreCase: false, want: "\"--\"", @@ -7395,42 +7557,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 777, col: 8, offset: 24923}, + pos: position{line: 778, col: 8, offset: 24946}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment745, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment735, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment748, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment738, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7439,9 +7601,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7450,42 +7612,39 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1008, col: 5, offset: 31253}, + pos: position{line: 1009, col: 5, offset: 31278}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment758, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment748, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment764, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment753, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7495,28 +7654,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment768, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment757, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7525,9 +7684,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7542,27 +7701,27 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 998, col: 5, offset: 30988}, + pos: position{line: 999, col: 5, offset: 31013}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 998, col: 9, offset: 30992}, + pos: position{line: 999, col: 9, offset: 31017}, expr: &choiceExpr{ - pos: position{line: 1004, col: 26, offset: 31174}, + pos: position{line: 1005, col: 26, offset: 31199}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - run: (*parser).callonDocumentFragment778, + pos: position{line: 776, col: 5, offset: 24858}, + run: (*parser).callonDocumentFragment767, expr: &seqExpr{ - pos: position{line: 775, col: 5, offset: 24835}, + pos: position{line: 776, col: 5, offset: 24858}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24835}, + pos: position{line: 776, col: 5, offset: 24858}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 775, col: 16, offset: 24846}, - run: (*parser).callonDocumentFragment781, + pos: position{line: 776, col: 16, offset: 24869}, + run: (*parser).callonDocumentFragment770, expr: &litMatcher{ - pos: position{line: 775, col: 16, offset: 24846}, + pos: position{line: 776, col: 16, offset: 24869}, val: "--", ignoreCase: false, want: "\"--\"", @@ -7570,42 +7729,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 777, col: 8, offset: 24923}, + pos: position{line: 778, col: 8, offset: 24946}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment784, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment773, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment787, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment776, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7614,9 +7773,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7625,9 +7784,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7638,39 +7797,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1016, col: 5, offset: 31416}, - run: (*parser).callonDocumentFragment796, + pos: position{line: 1017, col: 5, offset: 31441}, + run: (*parser).callonDocumentFragment785, expr: &seqExpr{ - pos: position{line: 1016, col: 5, offset: 31416}, + pos: position{line: 1017, col: 5, offset: 31441}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1016, col: 5, offset: 31416}, + pos: position{line: 1017, col: 5, offset: 31441}, label: "start", expr: &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonDocumentFragment799, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonDocumentFragment788, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonDocumentFragment802, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonDocumentFragment791, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, val: "+", ignoreCase: false, want: "\"+\"", @@ -7681,42 +7840,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment808, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment797, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment811, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment800, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7725,9 +7884,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7737,56 +7896,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1017, col: 5, offset: 31459}, - run: (*parser).callonDocumentFragment818, + pos: position{line: 1018, col: 5, offset: 31484}, + run: (*parser).callonDocumentFragment807, }, &labeledExpr{ - pos: position{line: 1020, col: 5, offset: 31551}, + pos: position{line: 1021, col: 5, offset: 31576}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1035, col: 5, offset: 31981}, + pos: position{line: 1036, col: 5, offset: 32006}, expr: &actionExpr{ - pos: position{line: 1035, col: 6, offset: 31982}, - run: (*parser).callonDocumentFragment821, + pos: position{line: 1036, col: 6, offset: 32007}, + run: (*parser).callonDocumentFragment810, expr: &seqExpr{ - pos: position{line: 1035, col: 6, offset: 31982}, + pos: position{line: 1036, col: 6, offset: 32007}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1035, col: 6, offset: 31982}, + pos: position{line: 1036, col: 6, offset: 32007}, expr: &choiceExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1029, col: 5, offset: 31840}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1029, col: 5, offset: 31840}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1029, col: 5, offset: 31840}, label: "end", expr: &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonDocumentFragment827, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonDocumentFragment816, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonDocumentFragment830, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonDocumentFragment819, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, val: "+", ignoreCase: false, want: "\"+\"", @@ -7797,42 +7956,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment836, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment825, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment839, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment828, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7841,9 +8000,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7853,48 +8012,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1029, col: 5, offset: 31850}, - run: (*parser).callonDocumentFragment846, + pos: position{line: 1030, col: 5, offset: 31875}, + run: (*parser).callonDocumentFragment835, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1036, col: 5, offset: 32016}, + pos: position{line: 1037, col: 5, offset: 32041}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment850, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment839, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment856, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment844, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7904,28 +8060,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment860, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment848, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7934,9 +8090,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -7951,44 +8107,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1021, col: 5, offset: 31589}, + pos: position{line: 1022, col: 5, offset: 31614}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1021, col: 9, offset: 31593}, + pos: position{line: 1022, col: 9, offset: 31618}, expr: &choiceExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1029, col: 5, offset: 31840}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1029, col: 5, offset: 31840}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1029, col: 5, offset: 31840}, label: "end", expr: &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonDocumentFragment872, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonDocumentFragment860, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonDocumentFragment875, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonDocumentFragment863, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, val: "+", ignoreCase: false, want: "\"+\"", @@ -7999,42 +8155,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment881, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment869, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment884, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment872, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8043,9 +8199,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8055,15 +8211,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1029, col: 5, offset: 31850}, - run: (*parser).callonDocumentFragment891, + pos: position{line: 1030, col: 5, offset: 31875}, + run: (*parser).callonDocumentFragment879, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8074,39 +8230,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1044, col: 5, offset: 32167}, - run: (*parser).callonDocumentFragment894, + pos: position{line: 1045, col: 5, offset: 32192}, + run: (*parser).callonDocumentFragment882, expr: &seqExpr{ - pos: position{line: 1044, col: 5, offset: 32167}, + pos: position{line: 1045, col: 5, offset: 32192}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1044, col: 5, offset: 32167}, + pos: position{line: 1045, col: 5, offset: 32192}, label: "start", expr: &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonDocumentFragment897, + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonDocumentFragment885, expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonDocumentFragment900, + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonDocumentFragment888, expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, val: "_", ignoreCase: false, want: "\"_\"", @@ -8117,42 +8273,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, + pos: position{line: 799, col: 8, offset: 25693}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment906, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment894, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment909, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment897, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8161,9 +8317,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8173,56 +8329,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1045, col: 5, offset: 32204}, - run: (*parser).callonDocumentFragment916, + pos: position{line: 1046, col: 5, offset: 32229}, + run: (*parser).callonDocumentFragment904, }, &labeledExpr{ - pos: position{line: 1048, col: 5, offset: 32296}, + pos: position{line: 1049, col: 5, offset: 32321}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1063, col: 4, offset: 32677}, + pos: position{line: 1064, col: 4, offset: 32702}, expr: &actionExpr{ - pos: position{line: 1063, col: 5, offset: 32678}, - run: (*parser).callonDocumentFragment919, + pos: position{line: 1064, col: 5, offset: 32703}, + run: (*parser).callonDocumentFragment907, expr: &seqExpr{ - pos: position{line: 1063, col: 5, offset: 32678}, + pos: position{line: 1064, col: 5, offset: 32703}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1063, col: 5, offset: 32678}, + pos: position{line: 1064, col: 5, offset: 32703}, expr: &choiceExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, + pos: position{line: 1057, col: 5, offset: 32549}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, + pos: position{line: 1057, col: 5, offset: 32549}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, + pos: position{line: 1057, col: 5, offset: 32549}, label: "end", expr: &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonDocumentFragment925, + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonDocumentFragment913, expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonDocumentFragment928, + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonDocumentFragment916, expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, val: "_", ignoreCase: false, want: "\"_\"", @@ -8233,42 +8389,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, + pos: position{line: 799, col: 8, offset: 25693}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment934, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment922, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment937, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment925, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8277,9 +8433,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8289,48 +8445,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1057, col: 5, offset: 32553}, - run: (*parser).callonDocumentFragment944, + pos: position{line: 1058, col: 5, offset: 32578}, + run: (*parser).callonDocumentFragment932, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1064, col: 5, offset: 32706}, + pos: position{line: 1065, col: 5, offset: 32731}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment948, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment936, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment954, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment941, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8340,28 +8493,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment958, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment945, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8370,9 +8523,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8387,44 +8540,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1049, col: 5, offset: 32328}, + pos: position{line: 1050, col: 5, offset: 32353}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1049, col: 9, offset: 32332}, + pos: position{line: 1050, col: 9, offset: 32357}, expr: &choiceExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, + pos: position{line: 1057, col: 5, offset: 32549}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, + pos: position{line: 1057, col: 5, offset: 32549}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, + pos: position{line: 1057, col: 5, offset: 32549}, label: "end", expr: &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonDocumentFragment970, + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonDocumentFragment957, expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonDocumentFragment973, + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonDocumentFragment960, expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, val: "_", ignoreCase: false, want: "\"_\"", @@ -8435,42 +8588,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, + pos: position{line: 799, col: 8, offset: 25693}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment979, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment966, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment982, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment969, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8479,9 +8632,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8491,15 +8644,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1057, col: 5, offset: 32553}, - run: (*parser).callonDocumentFragment989, + pos: position{line: 1058, col: 5, offset: 32578}, + run: (*parser).callonDocumentFragment976, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8510,39 +8663,39 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1072, col: 5, offset: 32861}, - run: (*parser).callonDocumentFragment992, + pos: position{line: 1073, col: 5, offset: 32886}, + run: (*parser).callonDocumentFragment979, expr: &seqExpr{ - pos: position{line: 1072, col: 5, offset: 32861}, + pos: position{line: 1073, col: 5, offset: 32886}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1072, col: 5, offset: 32861}, + pos: position{line: 1073, col: 5, offset: 32886}, label: "start", expr: &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonDocumentFragment995, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonDocumentFragment982, expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonDocumentFragment998, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonDocumentFragment985, expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, val: "*", ignoreCase: false, want: "\"*\"", @@ -8553,42 +8706,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1004, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment991, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1007, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment994, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8597,9 +8750,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8609,56 +8762,56 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1073, col: 5, offset: 32900}, - run: (*parser).callonDocumentFragment1014, + pos: position{line: 1074, col: 5, offset: 32925}, + run: (*parser).callonDocumentFragment1001, }, &labeledExpr{ - pos: position{line: 1076, col: 5, offset: 32992}, + pos: position{line: 1077, col: 5, offset: 33017}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1091, col: 4, offset: 33389}, + pos: position{line: 1092, col: 4, offset: 33414}, expr: &actionExpr{ - pos: position{line: 1091, col: 5, offset: 33390}, - run: (*parser).callonDocumentFragment1017, + pos: position{line: 1092, col: 5, offset: 33415}, + run: (*parser).callonDocumentFragment1004, expr: &seqExpr{ - pos: position{line: 1091, col: 5, offset: 33390}, + pos: position{line: 1092, col: 5, offset: 33415}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1091, col: 5, offset: 33390}, + pos: position{line: 1092, col: 5, offset: 33415}, expr: &choiceExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, + pos: position{line: 1085, col: 5, offset: 33257}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, + pos: position{line: 1085, col: 5, offset: 33257}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, + pos: position{line: 1085, col: 5, offset: 33257}, label: "end", expr: &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonDocumentFragment1023, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonDocumentFragment1010, expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonDocumentFragment1026, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonDocumentFragment1013, expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, val: "*", ignoreCase: false, want: "\"*\"", @@ -8669,42 +8822,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1032, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1019, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1035, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1022, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8713,9 +8866,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8725,48 +8878,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1085, col: 5, offset: 33263}, - run: (*parser).callonDocumentFragment1042, + pos: position{line: 1086, col: 5, offset: 33288}, + run: (*parser).callonDocumentFragment1029, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1092, col: 5, offset: 33420}, + pos: position{line: 1093, col: 5, offset: 33445}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentFragment1046, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentFragment1033, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment1052, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment1038, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8776,28 +8926,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1056, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1042, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8806,9 +8956,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8823,44 +8973,44 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1077, col: 5, offset: 33026}, + pos: position{line: 1078, col: 5, offset: 33051}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1077, col: 9, offset: 33030}, + pos: position{line: 1078, col: 9, offset: 33055}, expr: &choiceExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, + pos: position{line: 1085, col: 5, offset: 33257}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, + pos: position{line: 1085, col: 5, offset: 33257}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, + pos: position{line: 1085, col: 5, offset: 33257}, label: "end", expr: &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonDocumentFragment1068, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonDocumentFragment1054, expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonDocumentFragment1071, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonDocumentFragment1057, expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, val: "*", ignoreCase: false, want: "\"*\"", @@ -8871,42 +9021,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1077, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1063, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1080, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1066, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8915,9 +9065,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8927,15 +9077,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1085, col: 5, offset: 33263}, - run: (*parser).callonDocumentFragment1087, + pos: position{line: 1086, col: 5, offset: 33288}, + run: (*parser).callonDocumentFragment1073, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -8946,52 +9096,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2786, col: 18, offset: 88507}, - run: (*parser).callonDocumentFragment1090, + pos: position{line: 2701, col: 18, offset: 85868}, + run: (*parser).callonDocumentFragment1076, expr: &seqExpr{ - pos: position{line: 2786, col: 18, offset: 88507}, + pos: position{line: 2701, col: 18, offset: 85868}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 2787, col: 9, offset: 88517}, + pos: position{line: 2702, col: 9, offset: 85878}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2787, col: 9, offset: 88517}, + pos: position{line: 2702, col: 9, offset: 85878}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 2788, col: 11, offset: 88553}, + pos: position{line: 2703, col: 11, offset: 85914}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 2788, col: 19, offset: 88561}, + pos: position{line: 2703, col: 19, offset: 85922}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 2788, col: 29, offset: 88571}, + pos: position{line: 2703, col: 29, offset: 85932}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 2788, col: 37, offset: 88579}, + pos: position{line: 2703, col: 37, offset: 85940}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 2788, col: 47, offset: 88589}, + pos: position{line: 2703, col: 47, offset: 85950}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 2788, col: 55, offset: 88597}, + pos: position{line: 2703, col: 55, offset: 85958}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -8999,42 +9149,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2789, col: 11, offset: 88655}, + pos: position{line: 2704, col: 11, offset: 86016}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1101, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1087, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1104, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1090, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9043,36 +9193,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1112, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1098, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9081,9 +9231,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9092,58 +9242,58 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 247, col: 11, offset: 7377}, + pos: position{line: 247, col: 11, offset: 7379}, name: "ListElements", }, &actionExpr{ - pos: position{line: 2677, col: 5, offset: 85446}, - run: (*parser).callonDocumentFragment1120, + pos: position{line: 2592, col: 5, offset: 82805}, + run: (*parser).callonDocumentFragment1106, expr: &seqExpr{ - pos: position{line: 2677, col: 5, offset: 85446}, + pos: position{line: 2592, col: 5, offset: 82805}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1124, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1110, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1127, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1113, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9152,73 +9302,70 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, &labeledExpr{ - pos: position{line: 2678, col: 5, offset: 85470}, + pos: position{line: 2593, col: 5, offset: 82829}, label: "lines", expr: &zeroOrMoreExpr{ - pos: position{line: 2678, col: 11, offset: 85476}, + pos: position{line: 2593, col: 11, offset: 82835}, expr: &choiceExpr{ - pos: position{line: 2678, col: 12, offset: 85477}, + pos: position{line: 2593, col: 12, offset: 82836}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonDocumentFragment1137, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonDocumentFragment1123, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1143, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1128, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1146, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1131, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9227,9 +9374,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9238,62 +9385,62 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2690, col: 5, offset: 85722}, - run: (*parser).callonDocumentFragment1153, + pos: position{line: 2605, col: 5, offset: 83081}, + run: (*parser).callonDocumentFragment1138, expr: &seqExpr{ - pos: position{line: 2690, col: 5, offset: 85722}, + pos: position{line: 2605, col: 5, offset: 83081}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2690, col: 5, offset: 85722}, + pos: position{line: 2605, col: 5, offset: 83081}, expr: &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, + pos: position{line: 2602, col: 22, offset: 83042}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1160, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1145, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1163, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1148, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9302,9 +9449,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9312,82 +9459,82 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2691, col: 5, offset: 85745}, + pos: position{line: 2606, col: 5, offset: 83104}, label: "content", expr: &choiceExpr{ - pos: position{line: 2692, col: 9, offset: 85763}, + pos: position{line: 2607, col: 9, offset: 83122}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2692, col: 10, offset: 85764}, - run: (*parser).callonDocumentFragment1174, + pos: position{line: 2607, col: 10, offset: 83123}, + run: (*parser).callonDocumentFragment1159, expr: &labeledExpr{ - pos: position{line: 2692, col: 10, offset: 85764}, + pos: position{line: 2607, col: 10, offset: 83123}, label: "cells", expr: &choiceExpr{ - pos: position{line: 2692, col: 17, offset: 85771}, + pos: position{line: 2607, col: 17, offset: 83130}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2700, col: 21, offset: 85967}, - run: (*parser).callonDocumentFragment1177, + pos: position{line: 2615, col: 21, offset: 83326}, + run: (*parser).callonDocumentFragment1162, expr: &seqExpr{ - pos: position{line: 2700, col: 21, offset: 85967}, + pos: position{line: 2615, col: 21, offset: 83326}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2700, col: 21, offset: 85967}, + pos: position{line: 2615, col: 21, offset: 83326}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2700, col: 27, offset: 85973}, + pos: position{line: 2615, col: 27, offset: 83332}, expr: &actionExpr{ - pos: position{line: 2705, col: 5, offset: 86048}, - run: (*parser).callonDocumentFragment1181, + pos: position{line: 2620, col: 5, offset: 83407}, + run: (*parser).callonDocumentFragment1166, expr: &seqExpr{ - pos: position{line: 2705, col: 5, offset: 86048}, + pos: position{line: 2620, col: 5, offset: 83407}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2705, col: 5, offset: 86048}, + pos: position{line: 2620, col: 5, offset: 83407}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2705, col: 9, offset: 86052}, + pos: position{line: 2620, col: 9, offset: 83411}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1185, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1170, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 2705, col: 16, offset: 86059}, + pos: position{line: 2620, col: 16, offset: 83418}, label: "content", expr: &actionExpr{ - pos: position{line: 2711, col: 5, offset: 86258}, - run: (*parser).callonDocumentFragment1188, + pos: position{line: 2626, col: 5, offset: 83617}, + run: (*parser).callonDocumentFragment1173, expr: &labeledExpr{ - pos: position{line: 2711, col: 5, offset: 86258}, + pos: position{line: 2626, col: 5, offset: 83617}, label: "content", expr: &actionExpr{ - pos: position{line: 2711, col: 14, offset: 86267}, - run: (*parser).callonDocumentFragment1190, + pos: position{line: 2626, col: 14, offset: 83626}, + run: (*parser).callonDocumentFragment1175, expr: &zeroOrMoreExpr{ - pos: position{line: 2711, col: 14, offset: 86267}, + pos: position{line: 2626, col: 14, offset: 83626}, expr: &charClassMatcher{ - pos: position{line: 2711, col: 14, offset: 86267}, + pos: position{line: 2626, col: 14, offset: 83626}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -9404,28 +9551,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1194, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1179, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9434,9 +9581,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9445,70 +9592,70 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2717, col: 24, offset: 86403}, - run: (*parser).callonDocumentFragment1201, + pos: position{line: 2632, col: 24, offset: 83762}, + run: (*parser).callonDocumentFragment1186, expr: &labeledExpr{ - pos: position{line: 2717, col: 24, offset: 86403}, + pos: position{line: 2632, col: 24, offset: 83762}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2717, col: 30, offset: 86409}, + pos: position{line: 2632, col: 30, offset: 83768}, expr: &actionExpr{ - pos: position{line: 2722, col: 5, offset: 86485}, - run: (*parser).callonDocumentFragment1204, + pos: position{line: 2637, col: 5, offset: 83844}, + run: (*parser).callonDocumentFragment1189, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 86485}, + pos: position{line: 2637, col: 5, offset: 83844}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2722, col: 5, offset: 86485}, + pos: position{line: 2637, col: 5, offset: 83844}, expr: &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, + pos: position{line: 2602, col: 22, offset: 83042}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1211, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1196, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1214, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1199, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9517,9 +9664,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9527,68 +9674,65 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, ¬Expr{ - pos: position{line: 2723, col: 5, offset: 86508}, + pos: position{line: 2638, col: 5, offset: 83867}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonDocumentFragment1224, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonDocumentFragment1209, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1230, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1214, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1233, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1217, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9597,9 +9741,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9609,17 +9753,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2724, col: 5, offset: 86523}, + pos: position{line: 2639, col: 5, offset: 83882}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2724, col: 12, offset: 86530}, + pos: position{line: 2639, col: 12, offset: 83889}, expr: &actionExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, - run: (*parser).callonDocumentFragment1242, + pos: position{line: 2656, col: 20, offset: 84353}, + run: (*parser).callonDocumentFragment1226, expr: &zeroOrMoreExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, expr: &charClassMatcher{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -9630,47 +9774,47 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2724, col: 31, offset: 86549}, + pos: position{line: 2639, col: 31, offset: 83908}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2724, col: 35, offset: 86553}, + pos: position{line: 2639, col: 35, offset: 83912}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1247, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1231, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &zeroOrOneExpr{ - pos: position{line: 2724, col: 42, offset: 86560}, + pos: position{line: 2639, col: 42, offset: 83919}, expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1250, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1234, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9680,67 +9824,67 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2724, col: 51, offset: 86569}, + pos: position{line: 2639, col: 51, offset: 83928}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 2730, col: 5, offset: 86728}, + pos: position{line: 2645, col: 5, offset: 84087}, expr: &actionExpr{ - pos: position{line: 2731, col: 9, offset: 86738}, - run: (*parser).callonDocumentFragment1257, + pos: position{line: 2646, col: 9, offset: 84097}, + run: (*parser).callonDocumentFragment1241, expr: &seqExpr{ - pos: position{line: 2731, col: 9, offset: 86738}, + pos: position{line: 2646, col: 9, offset: 84097}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2731, col: 9, offset: 86738}, + pos: position{line: 2646, col: 9, offset: 84097}, expr: &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, + pos: position{line: 2602, col: 22, offset: 83042}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1264, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1248, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1267, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1251, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9749,9 +9893,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9759,68 +9903,65 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, ¬Expr{ - pos: position{line: 2732, col: 9, offset: 86765}, + pos: position{line: 2647, col: 9, offset: 84124}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonDocumentFragment1277, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonDocumentFragment1261, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1283, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1266, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1286, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1269, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9829,9 +9970,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9841,22 +9982,22 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2733, col: 9, offset: 86784}, + pos: position{line: 2648, col: 9, offset: 84143}, expr: &seqExpr{ - pos: position{line: 2733, col: 11, offset: 86786}, + pos: position{line: 2648, col: 11, offset: 84145}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2733, col: 11, offset: 86786}, + pos: position{line: 2648, col: 11, offset: 84145}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2733, col: 18, offset: 86793}, + pos: position{line: 2648, col: 18, offset: 84152}, expr: &actionExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, - run: (*parser).callonDocumentFragment1297, + pos: position{line: 2656, col: 20, offset: 84353}, + run: (*parser).callonDocumentFragment1280, expr: &zeroOrMoreExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, expr: &charClassMatcher{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -9867,7 +10008,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2733, col: 37, offset: 86812}, + pos: position{line: 2648, col: 37, offset: 84171}, val: "|", ignoreCase: false, want: "\"|\"", @@ -9876,15 +10017,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2734, col: 9, offset: 86825}, + pos: position{line: 2649, col: 9, offset: 84184}, label: "content", expr: &actionExpr{ - pos: position{line: 2734, col: 18, offset: 86834}, - run: (*parser).callonDocumentFragment1302, + pos: position{line: 2649, col: 18, offset: 84193}, + run: (*parser).callonDocumentFragment1285, expr: &zeroOrMoreExpr{ - pos: position{line: 2734, col: 18, offset: 86834}, + pos: position{line: 2649, col: 18, offset: 84193}, expr: &charClassMatcher{ - pos: position{line: 2734, col: 18, offset: 86834}, + pos: position{line: 2649, col: 18, offset: 84193}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -9894,30 +10035,30 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 2736, col: 12, offset: 86896}, + pos: position{line: 2651, col: 12, offset: 84255}, expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1307, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1290, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9926,9 +10067,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -9950,57 +10091,54 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonDocumentFragment1314, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonDocumentFragment1297, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1320, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1302, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1323, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1305, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10009,9 +10147,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10030,54 +10168,54 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, + pos: position{line: 2602, col: 22, offset: 83042}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1334, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1316, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1337, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1319, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10086,9 +10224,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10096,9 +10234,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10107,36 +10245,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonDocumentFragment1346, + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonDocumentFragment1328, expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, + pos: position{line: 2466, col: 22, offset: 79269}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, + pos: position{line: 2471, col: 31, offset: 79490}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, + pos: position{line: 2471, col: 36, offset: 79495}, expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, + pos: position{line: 2471, col: 37, offset: 79496}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, + pos: position{line: 2466, col: 49, offset: 79296}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentFragment1352, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentFragment1334, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -10146,28 +10284,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1356, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1338, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10176,9 +10314,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10187,67 +10325,67 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1221, col: 5, offset: 37836}, - run: (*parser).callonDocumentFragment1363, + pos: position{line: 1222, col: 5, offset: 37858}, + run: (*parser).callonDocumentFragment1345, expr: &seqExpr{ - pos: position{line: 1221, col: 5, offset: 37836}, + pos: position{line: 1222, col: 5, offset: 37858}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1221, col: 5, offset: 37836}, - run: (*parser).callonDocumentFragment1365, + pos: position{line: 1222, col: 5, offset: 37858}, + run: (*parser).callonDocumentFragment1347, }, &labeledExpr{ - pos: position{line: 1224, col: 5, offset: 37894}, + pos: position{line: 1225, col: 5, offset: 37916}, label: "frontmatter", expr: &actionExpr{ - pos: position{line: 1229, col: 20, offset: 37989}, - run: (*parser).callonDocumentFragment1367, + pos: position{line: 1230, col: 20, offset: 38011}, + run: (*parser).callonDocumentFragment1349, expr: &seqExpr{ - pos: position{line: 1229, col: 20, offset: 37989}, + pos: position{line: 1230, col: 20, offset: 38011}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1233, col: 30, offset: 38161}, + pos: position{line: 1234, col: 30, offset: 38183}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1233, col: 36, offset: 38167}, + pos: position{line: 1234, col: 36, offset: 38189}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1371, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1353, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1374, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1356, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10256,76 +10394,76 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, &labeledExpr{ - pos: position{line: 1229, col: 45, offset: 38014}, + pos: position{line: 1230, col: 45, offset: 38036}, label: "content", expr: &zeroOrOneExpr{ - pos: position{line: 1229, col: 53, offset: 38022}, + pos: position{line: 1230, col: 53, offset: 38044}, expr: &actionExpr{ - pos: position{line: 1235, col: 27, offset: 38205}, - run: (*parser).callonDocumentFragment1383, + pos: position{line: 1236, col: 27, offset: 38227}, + run: (*parser).callonDocumentFragment1365, expr: &zeroOrMoreExpr{ - pos: position{line: 1235, col: 27, offset: 38205}, + pos: position{line: 1236, col: 27, offset: 38227}, expr: &oneOrMoreExpr{ - pos: position{line: 1235, col: 28, offset: 38206}, + pos: position{line: 1236, col: 28, offset: 38228}, expr: &seqExpr{ - pos: position{line: 1235, col: 29, offset: 38207}, + pos: position{line: 1236, col: 29, offset: 38229}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1235, col: 29, offset: 38207}, + pos: position{line: 1236, col: 29, offset: 38229}, expr: &seqExpr{ - pos: position{line: 1233, col: 30, offset: 38161}, + pos: position{line: 1234, col: 30, offset: 38183}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1233, col: 30, offset: 38161}, + pos: position{line: 1234, col: 30, offset: 38183}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1233, col: 36, offset: 38167}, + pos: position{line: 1234, col: 36, offset: 38189}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1391, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1373, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1394, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1376, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10334,9 +10472,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10345,7 +10483,7 @@ var g = &grammar{ }, }, &anyMatcher{ - line: 1235, col: 55, offset: 38233, + line: 1236, col: 55, offset: 38255, }, }, }, @@ -10355,48 +10493,48 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1233, col: 30, offset: 38161}, + pos: position{line: 1234, col: 30, offset: 38183}, val: "---", ignoreCase: false, want: "\"---\"", }, &zeroOrMoreExpr{ - pos: position{line: 1233, col: 36, offset: 38167}, + pos: position{line: 1234, col: 36, offset: 38189}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentFragment1404, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentFragment1386, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentFragment1407, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentFragment1389, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10405,9 +10543,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10420,7 +10558,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 251, col: 11, offset: 7466}, + pos: position{line: 251, col: 11, offset: 7468}, name: "Paragraph", }, }, @@ -10428,8 +10566,8 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 253, col: 5, offset: 7554}, - run: (*parser).callonDocumentFragment1415, + pos: position{line: 253, col: 5, offset: 7556}, + run: (*parser).callonDocumentFragment1397, }, }, }, @@ -10437,47 +10575,47 @@ var g = &grammar{ }, { name: "DelimitedBlockElements", - pos: position{line: 276, col: 1, offset: 8254}, + pos: position{line: 276, col: 1, offset: 8258}, expr: &actionExpr{ - pos: position{line: 277, col: 5, offset: 8285}, + pos: position{line: 277, col: 5, offset: 8289}, run: (*parser).callonDelimitedBlockElements1, expr: &seqExpr{ - pos: position{line: 277, col: 5, offset: 8285}, + pos: position{line: 277, col: 5, offset: 8289}, exprs: []interface{}{ &stateCodeExpr{ - pos: position{line: 277, col: 5, offset: 8285}, + pos: position{line: 277, col: 5, offset: 8289}, run: (*parser).callonDelimitedBlockElements3, }, &labeledExpr{ - pos: position{line: 281, col: 5, offset: 8366}, + pos: position{line: 281, col: 5, offset: 8370}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 281, col: 14, offset: 8375}, + pos: position{line: 281, col: 14, offset: 8379}, expr: &choiceExpr{ - pos: position{line: 282, col: 9, offset: 8385}, + pos: position{line: 282, col: 9, offset: 8389}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, + pos: position{line: 1198, col: 23, offset: 36969}, run: (*parser).callonDelimitedBlockElements7, expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, + pos: position{line: 1198, col: 23, offset: 36969}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, + pos: position{line: 1196, col: 32, offset: 36937}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, + pos: position{line: 1198, col: 51, offset: 36997}, label: "ref", expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, run: (*parser).callonDelimitedBlockElements11, expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -10487,7 +10625,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, + pos: position{line: 1196, col: 32, offset: 36937}, val: "�", ignoreCase: false, want: "\"�\"", @@ -10496,7 +10634,7 @@ var g = &grammar{ }, }, &ruleRefExpr{ - pos: position{line: 283, col: 11, offset: 8447}, + pos: position{line: 283, col: 11, offset: 8451}, name: "DocumentFragment", }, }, @@ -10504,9 +10642,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10515,30 +10653,30 @@ var g = &grammar{ }, { name: "AttributeDeclaration", - pos: position{line: 302, col: 1, offset: 9150}, + pos: position{line: 302, col: 1, offset: 9154}, expr: &actionExpr{ - pos: position{line: 303, col: 5, offset: 9179}, + pos: position{line: 303, col: 5, offset: 9183}, run: (*parser).callonAttributeDeclaration1, expr: &seqExpr{ - pos: position{line: 303, col: 5, offset: 9179}, + pos: position{line: 303, col: 5, offset: 9183}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 303, col: 5, offset: 9179}, + pos: position{line: 303, col: 5, offset: 9183}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 303, col: 9, offset: 9183}, + pos: position{line: 303, col: 9, offset: 9187}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonAttributeDeclaration5, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -10546,9 +10684,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -10561,41 +10699,41 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 303, col: 30, offset: 9204}, + pos: position{line: 303, col: 30, offset: 9208}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 304, col: 5, offset: 9213}, + pos: position{line: 304, col: 5, offset: 9217}, label: "value", expr: &zeroOrOneExpr{ - pos: position{line: 304, col: 11, offset: 9219}, + pos: position{line: 304, col: 11, offset: 9223}, expr: &actionExpr{ - pos: position{line: 305, col: 9, offset: 9229}, + pos: position{line: 305, col: 9, offset: 9233}, run: (*parser).callonAttributeDeclaration13, expr: &seqExpr{ - pos: position{line: 305, col: 9, offset: 9229}, + pos: position{line: 305, col: 9, offset: 9233}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, run: (*parser).callonAttributeDeclaration15, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 306, col: 9, offset: 9321}, + pos: position{line: 306, col: 9, offset: 9325}, label: "value", expr: &ruleRefExpr{ - pos: position{line: 306, col: 16, offset: 9328}, + pos: position{line: 306, col: 16, offset: 9332}, name: "AttributeDeclarationValue", }, }, @@ -10605,28 +10743,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonAttributeDeclaration21, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10635,9 +10773,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10648,58 +10786,58 @@ var g = &grammar{ }, { name: "AttributeDeclarationValue", - pos: position{line: 322, col: 1, offset: 9800}, + pos: position{line: 322, col: 1, offset: 9804}, expr: &actionExpr{ - pos: position{line: 323, col: 5, offset: 9834}, + pos: position{line: 323, col: 5, offset: 9838}, run: (*parser).callonAttributeDeclarationValue1, expr: &seqExpr{ - pos: position{line: 323, col: 5, offset: 9834}, + pos: position{line: 323, col: 5, offset: 9838}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 323, col: 5, offset: 9834}, + pos: position{line: 323, col: 5, offset: 9838}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 323, col: 15, offset: 9844}, + pos: position{line: 323, col: 15, offset: 9848}, name: "AttributeDeclarationValueElements", }, }, &labeledExpr{ - pos: position{line: 324, col: 5, offset: 9884}, + pos: position{line: 324, col: 5, offset: 9888}, label: "otherElements", expr: &zeroOrMoreExpr{ - pos: position{line: 324, col: 19, offset: 9898}, + pos: position{line: 324, col: 19, offset: 9902}, expr: &actionExpr{ - pos: position{line: 325, col: 9, offset: 9908}, + pos: position{line: 325, col: 9, offset: 9912}, run: (*parser).callonAttributeDeclarationValue7, expr: &seqExpr{ - pos: position{line: 325, col: 9, offset: 9908}, + pos: position{line: 325, col: 9, offset: 9912}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 325, col: 9, offset: 9908}, + pos: position{line: 325, col: 9, offset: 9912}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonAttributeDeclarationValue10, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10708,24 +10846,24 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 326, col: 9, offset: 9930}, + pos: position{line: 326, col: 9, offset: 9934}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonAttributeDeclarationValue16, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 327, col: 9, offset: 9945}, + pos: position{line: 327, col: 9, offset: 9949}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 327, col: 19, offset: 9955}, + pos: position{line: 327, col: 19, offset: 9959}, name: "AttributeDeclarationValueElements", }, }, @@ -10740,17 +10878,17 @@ var g = &grammar{ }, { name: "AttributeDeclarationValueElements", - pos: position{line: 338, col: 1, offset: 10285}, + pos: position{line: 338, col: 1, offset: 10289}, expr: &actionExpr{ - pos: position{line: 339, col: 5, offset: 10327}, + pos: position{line: 339, col: 5, offset: 10331}, run: (*parser).callonAttributeDeclarationValueElements1, expr: &labeledExpr{ - pos: position{line: 339, col: 5, offset: 10327}, + pos: position{line: 339, col: 5, offset: 10331}, label: "elements", expr: &zeroOrMoreExpr{ - pos: position{line: 339, col: 14, offset: 10336}, + pos: position{line: 339, col: 14, offset: 10340}, expr: &ruleRefExpr{ - pos: position{line: 339, col: 15, offset: 10337}, + pos: position{line: 339, col: 15, offset: 10341}, name: "AttributeDeclarationValueElement", }, }, @@ -10759,64 +10897,64 @@ var g = &grammar{ }, { name: "AttributeDeclarationValueElement", - pos: position{line: 343, col: 1, offset: 10426}, + pos: position{line: 343, col: 1, offset: 10430}, expr: &actionExpr{ - pos: position{line: 344, col: 5, offset: 10467}, + pos: position{line: 344, col: 5, offset: 10471}, run: (*parser).callonAttributeDeclarationValueElement1, expr: &seqExpr{ - pos: position{line: 344, col: 5, offset: 10467}, + pos: position{line: 344, col: 5, offset: 10471}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 344, col: 5, offset: 10467}, + pos: position{line: 344, col: 5, offset: 10471}, expr: &seqExpr{ - pos: position{line: 344, col: 7, offset: 10469}, + pos: position{line: 344, col: 7, offset: 10473}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 344, col: 7, offset: 10469}, + pos: position{line: 344, col: 7, offset: 10473}, expr: &litMatcher{ - pos: position{line: 344, col: 7, offset: 10469}, + pos: position{line: 344, col: 7, offset: 10473}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &zeroOrMoreExpr{ - pos: position{line: 344, col: 13, offset: 10475}, + pos: position{line: 344, col: 13, offset: 10479}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonAttributeDeclarationValueElement8, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonAttributeDeclarationValueElement11, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10825,9 +10963,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -10836,22 +10974,22 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 345, col: 5, offset: 10491}, + pos: position{line: 345, col: 5, offset: 10495}, label: "element", expr: &choiceExpr{ - pos: position{line: 346, col: 9, offset: 10509}, + pos: position{line: 346, col: 9, offset: 10513}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 346, col: 9, offset: 10509}, + pos: position{line: 346, col: 9, offset: 10513}, name: "InlinePassthrough", }, &actionExpr{ - pos: position{line: 347, col: 12, offset: 10538}, + pos: position{line: 347, col: 12, offset: 10542}, run: (*parser).callonAttributeDeclarationValueElement21, expr: &oneOrMoreExpr{ - pos: position{line: 347, col: 12, offset: 10538}, + pos: position{line: 347, col: 12, offset: 10542}, expr: &charClassMatcher{ - pos: position{line: 347, col: 12, offset: 10538}, + pos: position{line: 347, col: 12, offset: 10542}, val: "[^\\r\\n<>&{ ]", chars: []rune{'\r', '\n', '<', '>', '&', '{', ' '}, ignoreCase: false, @@ -10860,293 +10998,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, + pos: position{line: 2453, col: 5, offset: 78820}, run: (*parser).callonAttributeDeclarationValueElement24, expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, + pos: position{line: 2453, col: 5, offset: 78820}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, + pos: position{line: 2453, col: 5, offset: 78820}, run: (*parser).callonAttributeDeclarationValueElement26, }, &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, + pos: position{line: 2456, col: 5, offset: 78891}, label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonAttributeDeclarationValueElement29, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonAttributeDeclarationValueElement31, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonAttributeDeclarationValueElement35, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeDeclarationValueElement39, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonAttributeDeclarationValueElement45, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonAttributeDeclarationValueElement50, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeDeclarationValueElement54, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonAttributeDeclarationValueElement60, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeDeclarationValueElement64, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonAttributeDeclarationValueElement70, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonAttributeDeclarationValueElement73, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonAttributeDeclarationValueElement77, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonAttributeDeclarationValueElement81, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, + expr: &actionExpr{ + pos: position{line: 2457, col: 9, offset: 78909}, + run: (*parser).callonAttributeDeclarationValueElement28, + expr: &charClassMatcher{ + pos: position{line: 2457, col: 10, offset: 78910}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, }, }, }, @@ -11154,55 +11026,55 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeDeclarationValueElement83, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonAttributeDeclarationValueElement30, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonAttributeDeclarationValueElement85, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonAttributeDeclarationValueElement32, expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, + pos: position{line: 636, col: 5, offset: 20111}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonAttributeDeclarationValueElement87, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonAttributeDeclarationValueElement34, }, &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, + pos: position{line: 639, col: 5, offset: 20178}, label: "element", expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, + pos: position{line: 639, col: 14, offset: 20187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonAttributeDeclarationValueElement90, + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonAttributeDeclarationValueElement37, expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"{counter:\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeDeclarationValueElement94, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonAttributeDeclarationValueElement41, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11210,9 +11082,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11224,64 +11096,8 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonAttributeDeclarationValueElement101, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonAttributeDeclarationValueElement106, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonAttributeDeclarationValueElement108, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11290,28 +11106,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonAttributeDeclarationValueElement112, + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonAttributeDeclarationValueElement47, expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", ignoreCase: false, - want: "\"{counter2:\"", + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeDeclarationValueElement116, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonAttributeDeclarationValueElement51, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11319,9 +11135,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11333,34 +11149,87 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonAttributeDeclarationValueElement57, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonAttributeDeclarationValueElement61, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, + pos: position{line: 658, col: 62, offset: 20825}, expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonAttributeDeclarationValueElement123, + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonAttributeDeclarationValueElement68, expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, + pos: position{line: 666, col: 21, offset: 21124}, label: "start", expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonAttributeDeclarationValueElement128, + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonAttributeDeclarationValueElement73, expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -11368,12 +11237,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonAttributeDeclarationValueElement130, + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonAttributeDeclarationValueElement75, expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -11390,7 +11259,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, + pos: position{line: 658, col: 78, offset: 20841}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11399,28 +11268,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonAttributeDeclarationValueElement134, + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonAttributeDeclarationValueElement79, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 662, col: 25, offset: 20959}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", ignoreCase: false, - want: "\"\\\\{\"", + want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 662, col: 38, offset: 20972}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeDeclarationValueElement138, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonAttributeDeclarationValueElement83, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11428,9 +11297,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11442,53 +11311,56 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonAttributeDeclarationValueElement144, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeDeclarationValueElement148, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonAttributeDeclarationValueElement90, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonAttributeDeclarationValueElement95, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonAttributeDeclarationValueElement97, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, }, @@ -11496,7 +11368,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 662, col: 79, offset: 21013}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11519,60 +11391,60 @@ var g = &grammar{ }, { name: "BlockAttributes", - pos: position{line: 369, col: 1, offset: 11357}, + pos: position{line: 369, col: 1, offset: 11361}, expr: &actionExpr{ - pos: position{line: 370, col: 5, offset: 11380}, + pos: position{line: 370, col: 5, offset: 11384}, run: (*parser).callonBlockAttributes1, expr: &labeledExpr{ - pos: position{line: 370, col: 5, offset: 11380}, + pos: position{line: 370, col: 5, offset: 11384}, label: "attributes", expr: &oneOrMoreExpr{ - pos: position{line: 370, col: 16, offset: 11391}, + pos: position{line: 370, col: 16, offset: 11395}, expr: &choiceExpr{ - pos: position{line: 372, col: 9, offset: 11458}, + pos: position{line: 372, col: 9, offset: 11462}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 372, col: 10, offset: 11459}, + pos: position{line: 372, col: 10, offset: 11463}, run: (*parser).callonBlockAttributes5, expr: &seqExpr{ - pos: position{line: 372, col: 10, offset: 11459}, + pos: position{line: 372, col: 10, offset: 11463}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 372, col: 10, offset: 11459}, + pos: position{line: 372, col: 10, offset: 11463}, label: "anchor", expr: &actionExpr{ - pos: position{line: 404, col: 5, offset: 12334}, + pos: position{line: 404, col: 5, offset: 12338}, run: (*parser).callonBlockAttributes8, expr: &seqExpr{ - pos: position{line: 404, col: 5, offset: 12334}, + pos: position{line: 404, col: 5, offset: 12338}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 404, col: 5, offset: 12334}, + pos: position{line: 404, col: 5, offset: 12338}, val: "[[", ignoreCase: false, want: "\"[[\"", }, &labeledExpr{ - pos: position{line: 405, col: 5, offset: 12344}, + pos: position{line: 405, col: 5, offset: 12348}, label: "id", expr: &actionExpr{ - pos: position{line: 406, col: 9, offset: 12357}, + pos: position{line: 406, col: 9, offset: 12361}, run: (*parser).callonBlockAttributes12, expr: &labeledExpr{ - pos: position{line: 406, col: 9, offset: 12357}, + pos: position{line: 406, col: 9, offset: 12361}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 406, col: 18, offset: 12366}, + pos: position{line: 406, col: 18, offset: 12370}, expr: &choiceExpr{ - pos: position{line: 407, col: 13, offset: 12380}, + pos: position{line: 407, col: 13, offset: 12384}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 407, col: 14, offset: 12381}, + pos: position{line: 407, col: 14, offset: 12385}, run: (*parser).callonBlockAttributes16, expr: &oneOrMoreExpr{ - pos: position{line: 407, col: 14, offset: 12381}, + pos: position{line: 407, col: 14, offset: 12385}, expr: &charClassMatcher{ - pos: position{line: 407, col: 14, offset: 12381}, + pos: position{line: 407, col: 14, offset: 12385}, val: "[^=\\r\\n�{]]", chars: []rune{'=', '\r', '\n', '�', '{', ']'}, ignoreCase: false, @@ -11581,27 +11453,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, + pos: position{line: 1198, col: 23, offset: 36969}, run: (*parser).callonBlockAttributes19, expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, + pos: position{line: 1198, col: 23, offset: 36969}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, + pos: position{line: 1196, col: 32, offset: 36937}, val: "�", ignoreCase: false, want: "\"�\"", }, &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, + pos: position{line: 1198, col: 51, offset: 36997}, label: "ref", expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, run: (*parser).callonBlockAttributes23, expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, + pos: position{line: 1198, col: 56, offset: 37002}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -11611,7 +11483,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, + pos: position{line: 1196, col: 32, offset: 36937}, val: "�", ignoreCase: false, want: "\"�\"", @@ -11620,44 +11492,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, + pos: position{line: 636, col: 5, offset: 20111}, run: (*parser).callonBlockAttributes27, expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, + pos: position{line: 636, col: 5, offset: 20111}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, + pos: position{line: 636, col: 5, offset: 20111}, run: (*parser).callonBlockAttributes29, }, &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, + pos: position{line: 639, col: 5, offset: 20178}, label: "element", expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, + pos: position{line: 639, col: 14, offset: 20187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 645, col: 5, offset: 20316}, run: (*parser).callonBlockAttributes32, expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"{counter:\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, run: (*parser).callonBlockAttributes36, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11665,9 +11537,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11679,56 +11551,53 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonBlockAttributes42, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonBlockAttributes43, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonBlockAttributes46, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonBlockAttributes48, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonBlockAttributes50, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + inverted: false, }, }, }, @@ -11736,7 +11605,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11745,28 +11614,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonBlockAttributes54, + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonBlockAttributes52, expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, + pos: position{line: 658, col: 25, offset: 20788}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", ignoreCase: false, - want: "\"{counter2:\"", + want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, + pos: position{line: 658, col: 37, offset: 20800}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonBlockAttributes58, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonBlockAttributes56, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11774,9 +11643,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11789,33 +11658,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, + pos: position{line: 658, col: 56, offset: 20819}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, + pos: position{line: 658, col: 62, offset: 20825}, expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonBlockAttributes65, + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonBlockAttributes63, expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, + pos: position{line: 666, col: 21, offset: 21124}, label: "start", expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonBlockAttributes70, + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonBlockAttributes68, expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -11823,12 +11692,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonBlockAttributes72, + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonBlockAttributes70, expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -11845,7 +11714,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, + pos: position{line: 658, col: 78, offset: 20841}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11854,28 +11723,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonBlockAttributes76, + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonBlockAttributes74, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 662, col: 25, offset: 20959}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", ignoreCase: false, - want: "\"\\\\{\"", + want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 662, col: 38, offset: 20972}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonBlockAttributes80, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonBlockAttributes78, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11883,9 +11752,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -11897,53 +11766,56 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonBlockAttributes86, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonBlockAttributes90, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonBlockAttributes85, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonBlockAttributes90, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonBlockAttributes92, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, }, @@ -11951,7 +11823,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 662, col: 79, offset: 21013}, val: "}", ignoreCase: false, want: "\"}\"", @@ -11966,10 +11838,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 412, col: 16, offset: 12614}, + pos: position{line: 412, col: 16, offset: 12618}, run: (*parser).callonBlockAttributes96, expr: &litMatcher{ - pos: position{line: 412, col: 16, offset: 12614}, + pos: position{line: 412, col: 16, offset: 12618}, val: "{", ignoreCase: false, want: "\"{\"", @@ -11982,7 +11854,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 418, col: 5, offset: 12800}, + pos: position{line: 418, col: 5, offset: 12804}, val: "]]", ignoreCase: false, want: "\"]]\"", @@ -11992,42 +11864,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 372, col: 35, offset: 11484}, + pos: position{line: 372, col: 35, offset: 11488}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonBlockAttributes100, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonBlockAttributes103, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12036,67 +11908,64 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 372, col: 46, offset: 11495}, + pos: position{line: 372, col: 46, offset: 11499}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, run: (*parser).callonBlockAttributes111, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonBlockAttributes117, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes116, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonBlockAttributes120, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonBlockAttributes119, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12105,9 +11974,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -12120,30 +11989,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 376, col: 12, offset: 11616}, - run: (*parser).callonBlockAttributes127, + pos: position{line: 376, col: 12, offset: 11620}, + run: (*parser).callonBlockAttributes126, expr: &seqExpr{ - pos: position{line: 376, col: 12, offset: 11616}, + pos: position{line: 376, col: 12, offset: 11620}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 376, col: 12, offset: 11616}, + pos: position{line: 376, col: 12, offset: 11620}, label: "title", expr: &actionExpr{ - pos: position{line: 423, col: 19, offset: 12919}, - run: (*parser).callonBlockAttributes130, + pos: position{line: 423, col: 19, offset: 12923}, + run: (*parser).callonBlockAttributes129, expr: &seqExpr{ - pos: position{line: 423, col: 19, offset: 12919}, + pos: position{line: 423, col: 19, offset: 12923}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 423, col: 19, offset: 12919}, + pos: position{line: 423, col: 19, offset: 12923}, val: ".", ignoreCase: false, want: "\".\"", }, ¬Expr{ - pos: position{line: 424, col: 5, offset: 12928}, + pos: position{line: 424, col: 5, offset: 12932}, expr: &charClassMatcher{ - pos: position{line: 424, col: 6, offset: 12929}, + pos: position{line: 424, col: 6, offset: 12933}, val: "[. ]", chars: []rune{'.', ' '}, ignoreCase: false, @@ -12151,92 +12020,156 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 425, col: 5, offset: 13041}, + pos: position{line: 425, col: 5, offset: 13045}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 425, col: 14, offset: 13050}, + pos: position{line: 425, col: 14, offset: 13054}, expr: &choiceExpr{ - pos: position{line: 426, col: 9, offset: 13060}, + pos: position{line: 426, col: 9, offset: 13064}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - run: (*parser).callonBlockAttributes138, + pos: position{line: 2755, col: 5, offset: 87520}, + run: (*parser).callonBlockAttributes137, expr: &seqExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, + pos: position{line: 2755, col: 5, offset: 87520}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2840, col: 6, offset: 90160}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2841, col: 5, offset: 90205}, + &oneOrMoreExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, expr: &charClassMatcher{ - pos: position{line: 2841, col: 6, offset: 90206}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, + pos: position{line: 2755, col: 5, offset: 87520}, + val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, }, - &andExpr{ - pos: position{line: 2842, col: 5, offset: 90269}, - expr: &choiceExpr{ - pos: position{line: 2842, col: 7, offset: 90271}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonBlockAttributes145, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", + &choiceExpr{ + pos: position{line: 2771, col: 9, offset: 87859}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes142, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"�\"", + inverted: false, }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonBlockAttributes148, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonBlockAttributes144, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2773, col: 11, offset: 87889}, + run: (*parser).callonBlockAttributes150, + }, + &andExpr{ + pos: position{line: 2776, col: 11, offset: 87967}, + expr: &seqExpr{ + pos: position{line: 2777, col: 13, offset: 87982}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2777, col: 13, offset: 87982}, + expr: &seqExpr{ + pos: position{line: 2777, col: 15, offset: 87984}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2777, col: 15, offset: 87984}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + ¬Expr{ + pos: position{line: 2777, col: 19, offset: 87988}, + expr: &choiceExpr{ + pos: position{line: 2777, col: 21, offset: 87990}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes158, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonBlockAttributes160, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + }, + ¬Expr{ + pos: position{line: 2778, col: 13, offset: 88016}, + expr: &litMatcher{ + pos: position{line: 2778, col: 14, offset: 88017}, + val: "@", ignoreCase: false, - want: "\"\\r\"", + want: "\"@\"", }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, @@ -12244,39 +12177,182 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonBlockAttributes155, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes169, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonBlockAttributes157, + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonBlockAttributes171, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes178, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonBlockAttributes180, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonBlockAttributes188, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonBlockAttributes191, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonBlockAttributes194, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonBlockAttributes197, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonBlockAttributes199, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 645, col: 5, offset: 20316}, val: "\\{", ignoreCase: false, want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonBlockAttributes161, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonBlockAttributes203, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -12284,9 +12360,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -12299,7 +12375,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, + pos: position{line: 645, col: 32, offset: 20343}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12308,28 +12384,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonBlockAttributes167, + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonBlockAttributes209, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 652, col: 5, offset: 20584}, val: "{", ignoreCase: false, want: "\"{\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, + pos: position{line: 652, col: 9, offset: 20588}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonBlockAttributes171, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonBlockAttributes213, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -12337,9 +12413,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -12352,7 +12428,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -12361,10 +12437,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonBlockAttributes177, + pos: position{line: 2841, col: 12, offset: 89767}, + run: (*parser).callonBlockAttributes219, expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, + pos: position{line: 2841, col: 12, offset: 89767}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -12380,42 +12456,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 376, col: 35, offset: 11639}, + pos: position{line: 376, col: 35, offset: 11643}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonBlockAttributes180, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes222, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonBlockAttributes183, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonBlockAttributes225, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12424,67 +12500,64 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 376, col: 46, offset: 11650}, + pos: position{line: 376, col: 46, offset: 11654}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonBlockAttributes191, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonBlockAttributes233, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonBlockAttributes197, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes238, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonBlockAttributes200, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonBlockAttributes241, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12493,9 +12566,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -12508,56 +12581,56 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 380, col: 12, offset: 11740}, - run: (*parser).callonBlockAttributes207, + pos: position{line: 380, col: 12, offset: 11744}, + run: (*parser).callonBlockAttributes248, expr: &seqExpr{ - pos: position{line: 380, col: 12, offset: 11740}, + pos: position{line: 380, col: 12, offset: 11744}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 380, col: 12, offset: 11740}, + pos: position{line: 380, col: 12, offset: 11744}, label: "attributes", expr: &ruleRefExpr{ - pos: position{line: 380, col: 24, offset: 11752}, + pos: position{line: 380, col: 24, offset: 11756}, name: "LongHandAttributes", }, }, &zeroOrMoreExpr{ - pos: position{line: 380, col: 44, offset: 11772}, + pos: position{line: 380, col: 44, offset: 11776}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonBlockAttributes212, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes253, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonBlockAttributes215, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonBlockAttributes256, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12566,67 +12639,64 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 380, col: 55, offset: 11783}, + pos: position{line: 380, col: 55, offset: 11787}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonBlockAttributes223, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonBlockAttributes264, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonBlockAttributes229, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonBlockAttributes269, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonBlockAttributes232, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonBlockAttributes272, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12635,9 +12705,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -12657,51 +12727,51 @@ var g = &grammar{ }, { name: "InlineAttributes", - pos: position{line: 388, col: 1, offset: 11967}, + pos: position{line: 388, col: 1, offset: 11971}, expr: &actionExpr{ - pos: position{line: 389, col: 5, offset: 11991}, + pos: position{line: 389, col: 5, offset: 11995}, run: (*parser).callonInlineAttributes1, expr: &seqExpr{ - pos: position{line: 389, col: 5, offset: 11991}, + pos: position{line: 389, col: 5, offset: 11995}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 389, col: 5, offset: 11991}, + pos: position{line: 389, col: 5, offset: 11995}, val: "[", ignoreCase: false, want: "\"[\"", }, &labeledExpr{ - pos: position{line: 390, col: 5, offset: 11999}, + pos: position{line: 390, col: 5, offset: 12003}, label: "attributes", expr: &zeroOrMoreExpr{ - pos: position{line: 390, col: 16, offset: 12010}, + pos: position{line: 390, col: 16, offset: 12014}, expr: &actionExpr{ - pos: position{line: 391, col: 9, offset: 12020}, + pos: position{line: 391, col: 9, offset: 12024}, run: (*parser).callonInlineAttributes6, expr: &seqExpr{ - pos: position{line: 392, col: 13, offset: 12034}, + pos: position{line: 392, col: 13, offset: 12038}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 392, col: 13, offset: 12034}, + pos: position{line: 392, col: 13, offset: 12038}, expr: &litMatcher{ - pos: position{line: 392, col: 14, offset: 12035}, + pos: position{line: 392, col: 14, offset: 12039}, val: "]", ignoreCase: false, want: "\"]\"", }, }, &labeledExpr{ - pos: position{line: 393, col: 13, offset: 12067}, + pos: position{line: 393, col: 13, offset: 12071}, label: "attribute", expr: &choiceExpr{ - pos: position{line: 393, col: 24, offset: 12078}, + pos: position{line: 393, col: 24, offset: 12082}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 393, col: 24, offset: 12078}, + pos: position{line: 393, col: 24, offset: 12082}, name: "PositionalAttribute", }, &ruleRefExpr{ - pos: position{line: 393, col: 46, offset: 12100}, + pos: position{line: 393, col: 46, offset: 12104}, name: "NamedAttribute", }, }, @@ -12713,7 +12783,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 398, col: 5, offset: 12183}, + pos: position{line: 398, col: 5, offset: 12187}, val: "]", ignoreCase: false, want: "\"]\"", @@ -12724,551 +12794,655 @@ var g = &grammar{ }, { name: "LongHandAttributes", - pos: position{line: 436, col: 1, offset: 13420}, + pos: position{line: 437, col: 1, offset: 13446}, expr: &actionExpr{ - pos: position{line: 437, col: 5, offset: 13446}, + pos: position{line: 438, col: 5, offset: 13472}, run: (*parser).callonLongHandAttributes1, expr: &seqExpr{ - pos: position{line: 437, col: 5, offset: 13446}, + pos: position{line: 438, col: 5, offset: 13472}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 437, col: 5, offset: 13446}, + pos: position{line: 438, col: 5, offset: 13472}, expr: &litMatcher{ - pos: position{line: 437, col: 6, offset: 13447}, + pos: position{line: 438, col: 6, offset: 13473}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &litMatcher{ - pos: position{line: 437, col: 10, offset: 13451}, + pos: position{line: 438, col: 10, offset: 13477}, val: "[", ignoreCase: false, want: "\"[\"", }, ¬Expr{ - pos: position{line: 437, col: 14, offset: 13455}, + pos: position{line: 438, col: 14, offset: 13481}, expr: &litMatcher{ - pos: position{line: 437, col: 15, offset: 13456}, + pos: position{line: 438, col: 15, offset: 13482}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 438, col: 5, offset: 13569}, + pos: position{line: 439, col: 5, offset: 13595}, label: "firstPositionalAttributes", expr: &zeroOrOneExpr{ - pos: position{line: 438, col: 31, offset: 13595}, + pos: position{line: 439, col: 31, offset: 13621}, + expr: &ruleRefExpr{ + pos: position{line: 439, col: 32, offset: 13622}, + name: "FirstPositionalAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 440, col: 5, offset: 13654}, + label: "otherAttributes", + expr: &zeroOrMoreExpr{ + pos: position{line: 440, col: 21, offset: 13670}, + expr: &choiceExpr{ + pos: position{line: 440, col: 22, offset: 13671}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 440, col: 22, offset: 13671}, + name: "PositionalAttribute", + }, + &ruleRefExpr{ + pos: position{line: 440, col: 44, offset: 13693}, + name: "NamedAttribute", + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 441, col: 5, offset: 13714}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + }, + }, + { + name: "FirstPositionalAttributes", + pos: position{line: 454, col: 1, offset: 14242}, + expr: &actionExpr{ + pos: position{line: 455, col: 5, offset: 14276}, + run: (*parser).callonFirstPositionalAttributes1, + expr: &seqExpr{ + pos: position{line: 455, col: 5, offset: 14276}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 455, col: 5, offset: 14276}, + label: "main", + expr: &zeroOrOneExpr{ + pos: position{line: 455, col: 10, offset: 14281}, + expr: &ruleRefExpr{ + pos: position{line: 456, col: 9, offset: 14291}, + name: "ShortHandAttribute", + }, + }, + }, + &labeledExpr{ + pos: position{line: 458, col: 5, offset: 14321}, + label: "extras", + expr: &zeroOrMoreExpr{ + pos: position{line: 458, col: 12, offset: 14328}, expr: &actionExpr{ - pos: position{line: 454, col: 5, offset: 14250}, - run: (*parser).callonLongHandAttributes10, + pos: position{line: 459, col: 9, offset: 14339}, + run: (*parser).callonFirstPositionalAttributes8, expr: &seqExpr{ - pos: position{line: 454, col: 5, offset: 14250}, + pos: position{line: 459, col: 9, offset: 14339}, exprs: []interface{}{ + ¬Expr{ + pos: position{line: 459, col: 9, offset: 14339}, + expr: &litMatcher{ + pos: position{line: 459, col: 10, offset: 14340}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + ¬Expr{ + pos: position{line: 459, col: 14, offset: 14344}, + expr: &litMatcher{ + pos: position{line: 459, col: 15, offset: 14345}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, &labeledExpr{ - pos: position{line: 454, col: 5, offset: 14250}, - label: "main", - expr: &zeroOrOneExpr{ - pos: position{line: 454, col: 10, offset: 14255}, - expr: &actionExpr{ - pos: position{line: 486, col: 23, offset: 15065}, - run: (*parser).callonLongHandAttributes14, - expr: &labeledExpr{ - pos: position{line: 486, col: 23, offset: 15065}, - label: "value", - expr: &choiceExpr{ - pos: position{line: 502, col: 5, offset: 15544}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - run: (*parser).callonLongHandAttributes17, - expr: &seqExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 563, col: 5, offset: 17356}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 563, col: 9, offset: 17360}, - expr: &litMatcher{ - pos: position{line: 563, col: 10, offset: 17361}, - val: "`", + pos: position{line: 460, col: 9, offset: 14357}, + label: "extra", + expr: &choiceExpr{ + pos: position{line: 461, col: 13, offset: 14377}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 461, col: 13, offset: 14377}, + name: "ShortHandIDAttribute", + }, + &ruleRefExpr{ + pos: position{line: 462, col: 15, offset: 14413}, + name: "ShortHandOptionAttribute", + }, + &ruleRefExpr{ + pos: position{line: 463, col: 15, offset: 14452}, + name: "ShortHandDotRoleAttribute", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 466, col: 8, offset: 14528}, + expr: &seqExpr{ + pos: position{line: 466, col: 9, offset: 14529}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 466, col: 9, offset: 14529}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 466, col: 13, offset: 14533}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFirstPositionalAttributes23, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 467, col: 5, offset: 14547}, + run: (*parser).callonFirstPositionalAttributes25, + }, + }, + }, + }, + }, + { + name: "ShortHandIDAttribute", + pos: position{line: 483, col: 1, offset: 14963}, + expr: &actionExpr{ + pos: position{line: 483, col: 25, offset: 14987}, + run: (*parser).callonShortHandIDAttribute1, + expr: &seqExpr{ + pos: position{line: 483, col: 25, offset: 14987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 483, col: 25, offset: 14987}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + &labeledExpr{ + pos: position{line: 483, col: 29, offset: 14991}, + label: "id", + expr: &ruleRefExpr{ + pos: position{line: 483, col: 33, offset: 14995}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + }, + }, + { + name: "ShortHandAttribute", + pos: position{line: 487, col: 1, offset: 15069}, + expr: &actionExpr{ + pos: position{line: 487, col: 23, offset: 15091}, + run: (*parser).callonShortHandAttribute1, + expr: &labeledExpr{ + pos: position{line: 487, col: 23, offset: 15091}, + label: "value", + expr: &ruleRefExpr{ + pos: position{line: 487, col: 30, offset: 15098}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + { + name: "ShortHandDotRoleAttribute", + pos: position{line: 492, col: 1, offset: 15224}, + expr: &actionExpr{ + pos: position{line: 492, col: 30, offset: 15253}, + run: (*parser).callonShortHandDotRoleAttribute1, + expr: &seqExpr{ + pos: position{line: 492, col: 30, offset: 15253}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 492, col: 30, offset: 15253}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &labeledExpr{ + pos: position{line: 492, col: 34, offset: 15257}, + label: "role", + expr: &ruleRefExpr{ + pos: position{line: 492, col: 40, offset: 15263}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + }, + }, + { + name: "ShortHandOptionAttribute", + pos: position{line: 497, col: 1, offset: 15385}, + expr: &actionExpr{ + pos: position{line: 497, col: 29, offset: 15413}, + run: (*parser).callonShortHandOptionAttribute1, + expr: &seqExpr{ + pos: position{line: 497, col: 29, offset: 15413}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 497, col: 29, offset: 15413}, + val: "%", + ignoreCase: false, + want: "\"%\"", + }, + &labeledExpr{ + pos: position{line: 497, col: 33, offset: 15417}, + label: "option", + expr: &ruleRefExpr{ + pos: position{line: 497, col: 41, offset: 15425}, + name: "ShortHandAttributeValue", + }, + }, + }, + }, + }, + }, + { + name: "ShortHandAttributeValue", + pos: position{line: 502, col: 1, offset: 15538}, + expr: &choiceExpr{ + pos: position{line: 503, col: 5, offset: 15570}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 503, col: 5, offset: 15570}, + name: "SingleQuotedAttributeValue", + }, + &ruleRefExpr{ + pos: position{line: 504, col: 7, offset: 15604}, + name: "DoubleQuotedAttributeValue", + }, + &actionExpr{ + pos: position{line: 505, col: 7, offset: 15638}, + run: (*parser).callonShortHandAttributeValue4, + expr: &seqExpr{ + pos: position{line: 505, col: 7, offset: 15638}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 505, col: 7, offset: 15638}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 505, col: 16, offset: 15647}, + expr: &choiceExpr{ + pos: position{line: 508, col: 9, offset: 15829}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 508, col: 9, offset: 15829}, + name: "QuotationMark", + }, + &actionExpr{ + pos: position{line: 509, col: 12, offset: 15855}, + run: (*parser).callonShortHandAttributeValue10, + expr: &oneOrMoreExpr{ + pos: position{line: 509, col: 12, offset: 15855}, + expr: &charClassMatcher{ + pos: position{line: 509, col: 12, offset: 15855}, + val: "[^,=.%# \\r\\n�{]]", + chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonShortHandAttributeValue13, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonShortHandAttributeValue15, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonShortHandAttributeValue18, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"`\"", + want: "\"\\\\{\"", }, - }, - &labeledExpr{ - pos: position{line: 564, col: 5, offset: 17440}, - label: "content", - expr: &actionExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - run: (*parser).callonLongHandAttributes23, - expr: &labeledExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 570, col: 14, offset: 17580}, - expr: &choiceExpr{ - pos: position{line: 571, col: 9, offset: 17590}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes27, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonShortHandAttributeValue22, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes30, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonShortHandAttributeValue28, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonShortHandAttributeValue32, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes32, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonShortHandAttributeValue38, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonShortHandAttributeValue42, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes34, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes36, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes38, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonShortHandAttributeValue49, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes40, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes42, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonShortHandAttributeValue54, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes45, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes49, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes56, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes61, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes63, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes67, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes71, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes78, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes83, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes85, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes89, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes93, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes99, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes103, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonShortHandAttributeValue56, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 575, col: 12, offset: 17680}, - run: (*parser).callonLongHandAttributes109, - expr: &litMatcher{ - pos: position{line: 575, col: 12, offset: 17680}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 578, col: 13, offset: 17782}, - val: "'`", + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonShortHandAttributeValue60, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonShortHandAttributeValue64, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"'`\"", + inverted: false, }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonShortHandAttributeValue71, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 578, col: 20, offset: 17789}, - val: "`'", + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 578, col: 27, offset: 17796}, - run: (*parser).callonLongHandAttributes113, - expr: &litMatcher{ - pos: position{line: 578, col: 27, offset: 17796}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, + want: "\":\"", }, - &actionExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - run: (*parser).callonLongHandAttributes115, - expr: &oneOrMoreExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - expr: &charClassMatcher{ - pos: position{line: 581, col: 12, offset: 17956}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonShortHandAttributeValue76, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonShortHandAttributeValue78, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, @@ -13277,552 +13451,685 @@ var g = &grammar{ }, }, }, - }, - &litMatcher{ - pos: position{line: 565, col: 5, offset: 17488}, - val: "'", - ignoreCase: false, - want: "\"'\"", + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, }, - &actionExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - run: (*parser).callonLongHandAttributes119, - expr: &seqExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 589, col: 5, offset: 18188}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 589, col: 10, offset: 18193}, - expr: &litMatcher{ - pos: position{line: 589, col: 11, offset: 18194}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 590, col: 5, offset: 18273}, - label: "content", - expr: &actionExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - run: (*parser).callonLongHandAttributes125, - expr: &labeledExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 14, offset: 18431}, - expr: &choiceExpr{ - pos: position{line: 597, col: 9, offset: 18441}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes129, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes132, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes134, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes136, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes138, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes140, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes142, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes144, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes147, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes151, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes158, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes163, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes165, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes169, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes173, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes180, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes185, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes187, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes191, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes195, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes201, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes205, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 601, col: 12, offset: 18532}, - run: (*parser).callonLongHandAttributes211, - expr: &litMatcher{ - pos: position{line: 601, col: 12, offset: 18532}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 604, col: 13, offset: 18634}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 604, col: 21, offset: 18642}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 604, col: 29, offset: 18650}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 604, col: 35, offset: 18656}, - run: (*parser).callonLongHandAttributes216, - expr: &litMatcher{ - pos: position{line: 604, col: 35, offset: 18656}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - run: (*parser).callonLongHandAttributes218, - expr: &oneOrMoreExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - expr: &charClassMatcher{ - pos: position{line: 607, col: 12, offset: 18839}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 514, col: 12, offset: 16023}, + run: (*parser).callonShortHandAttributeValue82, + expr: &litMatcher{ + pos: position{line: 514, col: 12, offset: 16023}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 518, col: 5, offset: 16111}, + expr: ¬Expr{ + pos: position{line: 518, col: 7, offset: 16113}, + expr: &seqExpr{ + pos: position{line: 518, col: 9, offset: 16115}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 518, col: 9, offset: 16115}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortHandAttributeValue88, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 518, col: 16, offset: 16122}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "PositionalAttribute", + pos: position{line: 523, col: 1, offset: 16200}, + expr: &choiceExpr{ + pos: position{line: 523, col: 24, offset: 16223}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 524, col: 5, offset: 16229}, + run: (*parser).callonPositionalAttribute2, + expr: &seqExpr{ + pos: position{line: 524, col: 5, offset: 16229}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 524, col: 5, offset: 16229}, + label: "value", + expr: &ruleRefExpr{ + pos: position{line: 524, col: 12, offset: 16236}, + name: "AttributeValue", + }, + }, + &choiceExpr{ + pos: position{line: 524, col: 29, offset: 16253}, + alternatives: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 524, col: 29, offset: 16253}, + expr: &seqExpr{ + pos: position{line: 524, col: 30, offset: 16254}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 524, col: 30, offset: 16254}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 524, col: 34, offset: 16258}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonPositionalAttribute11, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 524, col: 45, offset: 16269}, + expr: &litMatcher{ + pos: position{line: 524, col: 46, offset: 16270}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 529, col: 6, offset: 16415}, + run: (*parser).callonPositionalAttribute15, + expr: &seqExpr{ + pos: position{line: 529, col: 6, offset: 16415}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 529, col: 6, offset: 16415}, + label: "value", + expr: &seqExpr{ + pos: position{line: 529, col: 13, offset: 16422}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 529, col: 13, offset: 16422}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonPositionalAttribute20, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 529, col: 21, offset: 16430}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 529, col: 22, offset: 16431}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 529, col: 22, offset: 16431}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 529, col: 26, offset: 16435}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonPositionalAttribute26, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 529, col: 36, offset: 16445}, + expr: &litMatcher{ + pos: position{line: 529, col: 37, offset: 16446}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 530, col: 5, offset: 16456}, + run: (*parser).callonPositionalAttribute30, + }, + }, + }, + }, + }, + }, + }, + { + name: "NamedAttribute", + pos: position{line: 540, col: 1, offset: 16771}, + expr: &actionExpr{ + pos: position{line: 541, col: 5, offset: 16794}, + run: (*parser).callonNamedAttribute1, + expr: &seqExpr{ + pos: position{line: 541, col: 5, offset: 16794}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 541, col: 5, offset: 16794}, + label: "key", + expr: &actionExpr{ + pos: position{line: 549, col: 22, offset: 17082}, + run: (*parser).callonNamedAttribute4, + expr: &seqExpr{ + pos: position{line: 549, col: 22, offset: 17082}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 549, col: 22, offset: 17082}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNamedAttribute7, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 549, col: 29, offset: 17089}, + expr: &charClassMatcher{ + pos: position{line: 549, col: 29, offset: 17089}, + val: "[^\\r\\n=,]]", + chars: []rune{'\r', '\n', '=', ',', ']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 542, col: 5, offset: 16823}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 542, col: 9, offset: 16827}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNamedAttribute13, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 543, col: 5, offset: 16839}, + label: "value", + expr: &ruleRefExpr{ + pos: position{line: 543, col: 12, offset: 16846}, + name: "AttributeValue", + }, + }, + &zeroOrOneExpr{ + pos: position{line: 543, col: 28, offset: 16862}, + expr: &seqExpr{ + pos: position{line: 543, col: 29, offset: 16863}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 543, col: 29, offset: 16863}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 543, col: 33, offset: 16867}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNamedAttribute21, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "AttributeValue", + pos: position{line: 553, col: 1, offset: 17146}, + expr: &actionExpr{ + pos: position{line: 554, col: 5, offset: 17169}, + run: (*parser).callonAttributeValue1, + expr: &seqExpr{ + pos: position{line: 554, col: 5, offset: 17169}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 554, col: 5, offset: 17169}, + label: "value", + expr: &choiceExpr{ + pos: position{line: 555, col: 9, offset: 17185}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 555, col: 9, offset: 17185}, + name: "SingleQuotedAttributeValue", + }, + &ruleRefExpr{ + pos: position{line: 556, col: 11, offset: 17223}, + name: "DoubleQuotedAttributeValue", + }, + &ruleRefExpr{ + pos: position{line: 557, col: 11, offset: 17261}, + name: "UnquotedAttributeValue", + }, + }, + }, + }, + &andExpr{ + pos: position{line: 559, col: 5, offset: 17295}, + expr: ¬Expr{ + pos: position{line: 559, col: 7, offset: 17297}, + expr: &seqExpr{ + pos: position{line: 559, col: 9, offset: 17299}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 559, col: 9, offset: 17299}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonAttributeValue12, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 559, col: 16, offset: 17306}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "SingleQuotedAttributeValue", + pos: position{line: 563, col: 1, offset: 17347}, + expr: &actionExpr{ + pos: position{line: 564, col: 5, offset: 17382}, + run: (*parser).callonSingleQuotedAttributeValue1, + expr: &seqExpr{ + pos: position{line: 564, col: 5, offset: 17382}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 564, col: 5, offset: 17382}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + ¬Expr{ + pos: position{line: 564, col: 9, offset: 17386}, + expr: &litMatcher{ + pos: position{line: 564, col: 10, offset: 17387}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + &labeledExpr{ + pos: position{line: 565, col: 5, offset: 17466}, + label: "content", + expr: &ruleRefExpr{ + pos: position{line: 565, col: 14, offset: 17475}, + name: "SingleQuotedAttributeValueContent", + }, + }, + &litMatcher{ + pos: position{line: 566, col: 5, offset: 17514}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + }, + }, + }, + }, + { + name: "SingleQuotedAttributeValueContent", + pos: position{line: 570, col: 1, offset: 17555}, + expr: &actionExpr{ + pos: position{line: 571, col: 5, offset: 17597}, + run: (*parser).callonSingleQuotedAttributeValueContent1, + expr: &labeledExpr{ + pos: position{line: 571, col: 5, offset: 17597}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 571, col: 14, offset: 17606}, + expr: &choiceExpr{ + pos: position{line: 572, col: 9, offset: 17616}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2750, col: 14, offset: 87447}, + run: (*parser).callonSingleQuotedAttributeValueContent5, + expr: &oneOrMoreExpr{ + pos: position{line: 2750, col: 14, offset: 87447}, + expr: &charClassMatcher{ + pos: position{line: 2750, col: 14, offset: 87447}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSingleQuotedAttributeValueContent8, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 574, col: 11, offset: 17652}, + name: "QuotationMark", + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonSingleQuotedAttributeValueContent11, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonSingleQuotedAttributeValueContent13, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonSingleQuotedAttributeValueContent16, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSingleQuotedAttributeValueContent20, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 591, col: 5, offset: 18321}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonSingleQuotedAttributeValueContent26, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSingleQuotedAttributeValueContent30, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, - &andExpr{ - pos: position{line: 591, col: 10, offset: 18326}, - expr: ¬Expr{ - pos: position{line: 591, col: 12, offset: 18328}, - expr: &seqExpr{ - pos: position{line: 591, col: 14, offset: 18330}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 591, col: 14, offset: 18330}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes226, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonSingleQuotedAttributeValueContent36, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSingleQuotedAttributeValueContent40, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonSingleQuotedAttributeValueContent47, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonSingleQuotedAttributeValueContent52, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, }, - }, - &litMatcher{ - pos: position{line: 591, col: 21, offset: 18337}, - val: "=", - ignoreCase: false, - want: "\"=\"", + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonSingleQuotedAttributeValueContent54, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, @@ -13831,460 +14138,107 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - run: (*parser).callonLongHandAttributes229, - expr: &seqExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 504, col: 16, offset: 15621}, - expr: &choiceExpr{ - pos: position{line: 507, col: 9, offset: 15803}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes234, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes236, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes238, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes240, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - run: (*parser).callonLongHandAttributes242, - expr: &oneOrMoreExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - expr: &charClassMatcher{ - pos: position{line: 508, col: 12, offset: 15829}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes245, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes247, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes250, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes254, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes261, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes266, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes268, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes272, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes276, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes283, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes288, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes290, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes294, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes298, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes304, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes308, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 513, col: 12, offset: 15997}, - run: (*parser).callonLongHandAttributes314, - expr: &litMatcher{ - pos: position{line: 513, col: 12, offset: 15997}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonSingleQuotedAttributeValueContent58, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSingleQuotedAttributeValueContent62, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, - &andExpr{ - pos: position{line: 517, col: 5, offset: 16085}, - expr: ¬Expr{ - pos: position{line: 517, col: 7, offset: 16087}, - expr: &seqExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes320, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonSingleQuotedAttributeValueContent69, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonSingleQuotedAttributeValueContent74, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, }, - }, - &litMatcher{ - pos: position{line: 517, col: 16, offset: 16096}, - val: "=", - ignoreCase: false, - want: "\"=\"", + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonSingleQuotedAttributeValueContent76, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, @@ -14293,1573 +14247,856 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, }, }, }, + }, + }, + }, + &actionExpr{ + pos: position{line: 576, col: 12, offset: 17706}, + run: (*parser).callonSingleQuotedAttributeValueContent80, + expr: &litMatcher{ + pos: position{line: 576, col: 12, offset: 17706}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + }, + &litMatcher{ + pos: position{line: 579, col: 13, offset: 17808}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + &litMatcher{ + pos: position{line: 579, col: 20, offset: 17815}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + &actionExpr{ + pos: position{line: 579, col: 27, offset: 17822}, + run: (*parser).callonSingleQuotedAttributeValueContent84, + expr: &litMatcher{ + pos: position{line: 579, col: 27, offset: 17822}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + }, + &actionExpr{ + pos: position{line: 582, col: 12, offset: 17982}, + run: (*parser).callonSingleQuotedAttributeValueContent86, + expr: &oneOrMoreExpr{ + pos: position{line: 582, col: 12, offset: 17982}, + expr: &charClassMatcher{ + pos: position{line: 582, col: 12, offset: 17982}, + val: "[^\\r\\n\\\\\\ ]", + chars: []rune{'\r', '\n', '\\', '\'', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "DoubleQuotedAttributeValue", + pos: position{line: 589, col: 1, offset: 18179}, + expr: &actionExpr{ + pos: position{line: 590, col: 5, offset: 18214}, + run: (*parser).callonDoubleQuotedAttributeValue1, + expr: &seqExpr{ + pos: position{line: 590, col: 5, offset: 18214}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 590, col: 5, offset: 18214}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + ¬Expr{ + pos: position{line: 590, col: 10, offset: 18219}, + expr: &litMatcher{ + pos: position{line: 590, col: 11, offset: 18220}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + &labeledExpr{ + pos: position{line: 591, col: 5, offset: 18299}, + label: "content", + expr: &ruleRefExpr{ + pos: position{line: 591, col: 14, offset: 18308}, + name: "DoubleQuotedAttributeValueContent", + }, + }, + &litMatcher{ + pos: position{line: 592, col: 5, offset: 18347}, + val: "\"", + ignoreCase: false, + want: "\"\\\"\"", + }, + &andExpr{ + pos: position{line: 592, col: 10, offset: 18352}, + expr: ¬Expr{ + pos: position{line: 592, col: 12, offset: 18354}, + expr: &seqExpr{ + pos: position{line: 592, col: 14, offset: 18356}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 592, col: 14, offset: 18356}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDoubleQuotedAttributeValue13, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 592, col: 21, offset: 18363}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "DoubleQuotedAttributeValueContent", + pos: position{line: 596, col: 1, offset: 18406}, + expr: &actionExpr{ + pos: position{line: 597, col: 5, offset: 18448}, + run: (*parser).callonDoubleQuotedAttributeValueContent1, + expr: &labeledExpr{ + pos: position{line: 597, col: 5, offset: 18448}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 597, col: 14, offset: 18457}, + expr: &choiceExpr{ + pos: position{line: 598, col: 9, offset: 18467}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2750, col: 14, offset: 87447}, + run: (*parser).callonDoubleQuotedAttributeValueContent5, + expr: &oneOrMoreExpr{ + pos: position{line: 2750, col: 14, offset: 87447}, + expr: &charClassMatcher{ + pos: position{line: 2750, col: 14, offset: 87447}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDoubleQuotedAttributeValueContent8, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 600, col: 11, offset: 18503}, + name: "QuotationMark", + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonDoubleQuotedAttributeValueContent11, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonDoubleQuotedAttributeValueContent13, + }, &labeledExpr{ - pos: position{line: 457, col: 5, offset: 14295}, - label: "extras", - expr: &zeroOrMoreExpr{ - pos: position{line: 457, col: 12, offset: 14302}, - expr: &actionExpr{ - pos: position{line: 458, col: 9, offset: 14313}, - run: (*parser).callonLongHandAttributes325, - expr: &seqExpr{ - pos: position{line: 458, col: 9, offset: 14313}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 458, col: 9, offset: 14313}, - expr: &litMatcher{ - pos: position{line: 458, col: 10, offset: 14314}, - val: ",", + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonDoubleQuotedAttributeValueContent16, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\",\"", + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDoubleQuotedAttributeValueContent20, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, - ¬Expr{ - pos: position{line: 458, col: 14, offset: 14318}, - expr: &litMatcher{ - pos: position{line: 458, col: 15, offset: 14319}, - val: "]", + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonDoubleQuotedAttributeValueContent26, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDoubleQuotedAttributeValueContent30, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", ignoreCase: false, - want: "\"]\"", + want: "\"}\"", }, }, - &labeledExpr{ - pos: position{line: 459, col: 9, offset: 14331}, - label: "extra", - expr: &choiceExpr{ - pos: position{line: 460, col: 13, offset: 14351}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 482, col: 25, offset: 14961}, - run: (*parser).callonLongHandAttributes333, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonDoubleQuotedAttributeValueContent36, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDoubleQuotedAttributeValueContent40, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonDoubleQuotedAttributeValueContent47, expr: &seqExpr{ - pos: position{line: 482, col: 25, offset: 14961}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 482, col: 25, offset: 14961}, - val: "#", + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - want: "\"#\"", + want: "\":\"", }, &labeledExpr{ - pos: position{line: 482, col: 29, offset: 14965}, - label: "id", + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", expr: &choiceExpr{ - pos: position{line: 502, col: 5, offset: 15544}, + pos: position{line: 666, col: 28, offset: 21131}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - run: (*parser).callonLongHandAttributes338, - expr: &seqExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 563, col: 5, offset: 17356}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 563, col: 9, offset: 17360}, - expr: &litMatcher{ - pos: position{line: 563, col: 10, offset: 17361}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 564, col: 5, offset: 17440}, - label: "content", - expr: &actionExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - run: (*parser).callonLongHandAttributes344, - expr: &labeledExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 570, col: 14, offset: 17580}, - expr: &choiceExpr{ - pos: position{line: 571, col: 9, offset: 17590}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes348, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes351, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes353, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes355, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes357, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes359, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes361, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes363, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes366, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes370, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes377, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes382, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes384, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes388, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes392, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes399, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes404, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes406, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes410, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes414, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes420, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes424, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 575, col: 12, offset: 17680}, - run: (*parser).callonLongHandAttributes430, - expr: &litMatcher{ - pos: position{line: 575, col: 12, offset: 17680}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 578, col: 13, offset: 17782}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 578, col: 20, offset: 17789}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 578, col: 27, offset: 17796}, - run: (*parser).callonLongHandAttributes434, - expr: &litMatcher{ - pos: position{line: 578, col: 27, offset: 17796}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &actionExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - run: (*parser).callonLongHandAttributes436, - expr: &oneOrMoreExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - expr: &charClassMatcher{ - pos: position{line: 581, col: 12, offset: 17956}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 565, col: 5, offset: 17488}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonDoubleQuotedAttributeValueContent52, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonDoubleQuotedAttributeValueContent54, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonDoubleQuotedAttributeValueContent58, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDoubleQuotedAttributeValueContent62, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonDoubleQuotedAttributeValueContent69, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonDoubleQuotedAttributeValueContent74, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, &actionExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - run: (*parser).callonLongHandAttributes440, - expr: &seqExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 589, col: 5, offset: 18188}, - val: "\"", + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonDoubleQuotedAttributeValueContent76, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 602, col: 12, offset: 18558}, + run: (*parser).callonDoubleQuotedAttributeValueContent80, + expr: &litMatcher{ + pos: position{line: 602, col: 12, offset: 18558}, + val: "\\\"", + ignoreCase: false, + want: "\"\\\\\\\"\"", + }, + }, + &litMatcher{ + pos: position{line: 605, col: 13, offset: 18660}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + &litMatcher{ + pos: position{line: 605, col: 21, offset: 18668}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + &litMatcher{ + pos: position{line: 605, col: 29, offset: 18676}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &actionExpr{ + pos: position{line: 605, col: 35, offset: 18682}, + run: (*parser).callonDoubleQuotedAttributeValueContent85, + expr: &litMatcher{ + pos: position{line: 605, col: 35, offset: 18682}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 608, col: 12, offset: 18865}, + run: (*parser).callonDoubleQuotedAttributeValueContent87, + expr: &oneOrMoreExpr{ + pos: position{line: 608, col: 12, offset: 18865}, + expr: &charClassMatcher{ + pos: position{line: 608, col: 12, offset: 18865}, + val: "[^\\r\\n\\\\\"` ]", + chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "UnquotedAttributeValue", + pos: position{line: 616, col: 1, offset: 19139}, + expr: &actionExpr{ + pos: position{line: 619, col: 5, offset: 19323}, + run: (*parser).callonUnquotedAttributeValue1, + expr: &seqExpr{ + pos: position{line: 619, col: 5, offset: 19323}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 619, col: 5, offset: 19323}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonUnquotedAttributeValue4, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 620, col: 5, offset: 19392}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 620, col: 14, offset: 19401}, + expr: &choiceExpr{ + pos: position{line: 621, col: 9, offset: 19411}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 621, col: 10, offset: 19412}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 621, col: 10, offset: 19412}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + &ruleRefExpr{ + pos: position{line: 621, col: 14, offset: 19416}, + name: "UnquotedAttributeValue", + }, + &litMatcher{ + pos: position{line: 621, col: 37, offset: 19439}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonUnquotedAttributeValue13, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonUnquotedAttributeValue15, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonUnquotedAttributeValue18, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonUnquotedAttributeValue22, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonUnquotedAttributeValue28, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonUnquotedAttributeValue32, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonUnquotedAttributeValue38, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonUnquotedAttributeValue42, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonUnquotedAttributeValue49, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonUnquotedAttributeValue54, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, - want: "\"\\\"\"", + inverted: false, }, - ¬Expr{ - pos: position{line: 589, col: 10, offset: 18193}, - expr: &litMatcher{ - pos: position{line: 589, col: 11, offset: 18194}, - val: "`", + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonUnquotedAttributeValue56, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 590, col: 5, offset: 18273}, - label: "content", - expr: &actionExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - run: (*parser).callonLongHandAttributes446, - expr: &labeledExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 14, offset: 18431}, - expr: &choiceExpr{ - pos: position{line: 597, col: 9, offset: 18441}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes450, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes453, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes455, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes457, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes459, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes461, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes463, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes465, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes468, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes472, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes479, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes484, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes486, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes490, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes494, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes501, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes506, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes508, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes512, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes516, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes522, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes526, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 601, col: 12, offset: 18532}, - run: (*parser).callonLongHandAttributes532, - expr: &litMatcher{ - pos: position{line: 601, col: 12, offset: 18532}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 604, col: 13, offset: 18634}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 604, col: 21, offset: 18642}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 604, col: 29, offset: 18650}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 604, col: 35, offset: 18656}, - run: (*parser).callonLongHandAttributes537, - expr: &litMatcher{ - pos: position{line: 604, col: 35, offset: 18656}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - run: (*parser).callonLongHandAttributes539, - expr: &oneOrMoreExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - expr: &charClassMatcher{ - pos: position{line: 607, col: 12, offset: 18839}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 591, col: 5, offset: 18321}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - &andExpr{ - pos: position{line: 591, col: 10, offset: 18326}, - expr: ¬Expr{ - pos: position{line: 591, col: 12, offset: 18328}, - expr: &seqExpr{ - pos: position{line: 591, col: 14, offset: 18330}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 591, col: 14, offset: 18330}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes547, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 591, col: 21, offset: 18337}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - run: (*parser).callonLongHandAttributes550, - expr: &seqExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 504, col: 16, offset: 15621}, - expr: &choiceExpr{ - pos: position{line: 507, col: 9, offset: 15803}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes555, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes557, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes559, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes561, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - run: (*parser).callonLongHandAttributes563, - expr: &oneOrMoreExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - expr: &charClassMatcher{ - pos: position{line: 508, col: 12, offset: 15829}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes566, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes568, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes571, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes575, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes582, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes587, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes589, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes593, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes597, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes604, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes609, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes611, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes615, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes619, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes625, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes629, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 513, col: 12, offset: 15997}, - run: (*parser).callonLongHandAttributes635, - expr: &litMatcher{ - pos: position{line: 513, col: 12, offset: 15997}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &andExpr{ - pos: position{line: 517, col: 5, offset: 16085}, - expr: ¬Expr{ - pos: position{line: 517, col: 7, offset: 16087}, - expr: &seqExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes641, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 517, col: 16, offset: 16096}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, + inverted: false, }, }, }, @@ -15871,1533 +15108,1072 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 496, col: 29, offset: 15387}, - run: (*parser).callonLongHandAttributes644, - expr: &seqExpr{ - pos: position{line: 496, col: 29, offset: 15387}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 496, col: 29, offset: 15387}, - val: "%", - ignoreCase: false, - want: "\"%\"", + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonUnquotedAttributeValue60, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonUnquotedAttributeValue64, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, - &labeledExpr{ - pos: position{line: 496, col: 33, offset: 15391}, - label: "option", - expr: &choiceExpr{ - pos: position{line: 502, col: 5, offset: 15544}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - run: (*parser).callonLongHandAttributes649, - expr: &seqExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 563, col: 5, offset: 17356}, - val: "'", + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonUnquotedAttributeValue71, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonUnquotedAttributeValue76, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, - want: "\"'\"", + inverted: false, }, - ¬Expr{ - pos: position{line: 563, col: 9, offset: 17360}, - expr: &litMatcher{ - pos: position{line: 563, col: 10, offset: 17361}, - val: "`", + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonUnquotedAttributeValue78, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, - want: "\"`\"", + inverted: false, }, }, - &labeledExpr{ - pos: position{line: 564, col: 5, offset: 17440}, - label: "content", - expr: &actionExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - run: (*parser).callonLongHandAttributes655, - expr: &labeledExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 570, col: 14, offset: 17580}, - expr: &choiceExpr{ - pos: position{line: 571, col: 9, offset: 17590}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes659, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes662, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes664, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes666, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes668, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes670, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes672, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes674, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes677, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes681, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes688, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes693, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes695, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes699, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes703, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes710, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes715, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes717, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes721, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes725, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes731, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes735, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 575, col: 12, offset: 17680}, - run: (*parser).callonLongHandAttributes741, - expr: &litMatcher{ - pos: position{line: 575, col: 12, offset: 17680}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 578, col: 13, offset: 17782}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 578, col: 20, offset: 17789}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 578, col: 27, offset: 17796}, - run: (*parser).callonLongHandAttributes745, - expr: &litMatcher{ - pos: position{line: 578, col: 27, offset: 17796}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &actionExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - run: (*parser).callonLongHandAttributes747, - expr: &oneOrMoreExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - expr: &charClassMatcher{ - pos: position{line: 581, col: 12, offset: 17956}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 565, col: 5, offset: 17488}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, }, }, }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 622, col: 32, offset: 19526}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonUnquotedAttributeValue83, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 624, col: 12, offset: 19611}, + run: (*parser).callonUnquotedAttributeValue85, + expr: &oneOrMoreExpr{ + pos: position{line: 624, col: 12, offset: 19611}, + expr: &charClassMatcher{ + pos: position{line: 624, col: 12, offset: 19611}, + val: "[^=,]{ ]", + chars: []rune{'=', ',', ']', '{', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "CrossReference", + pos: position{line: 684, col: 1, offset: 21747}, + expr: &choiceExpr{ + pos: position{line: 684, col: 19, offset: 21765}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 686, col: 27, offset: 21841}, + run: (*parser).callonCrossReference2, + expr: &seqExpr{ + pos: position{line: 686, col: 27, offset: 21841}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 686, col: 27, offset: 21841}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 686, col: 32, offset: 21846}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + run: (*parser).callonCrossReference6, + expr: &oneOrMoreExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + expr: &charClassMatcher{ + pos: position{line: 2887, col: 7, offset: 91192}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 686, col: 40, offset: 21854}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonCrossReference10, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 686, col: 47, offset: 21861}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 686, col: 51, offset: 21865}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 696, col: 24, offset: 22266}, + expr: &choiceExpr{ + pos: position{line: 697, col: 5, offset: 22272}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 697, col: 6, offset: 22273}, + run: (*parser).callonCrossReference16, + expr: &seqExpr{ + pos: position{line: 697, col: 6, offset: 22273}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 697, col: 6, offset: 22273}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 697, col: 14, offset: 22281}, + expr: &charClassMatcher{ + pos: position{line: 697, col: 14, offset: 22281}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonCrossReference21, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonCrossReference25, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonCrossReference31, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonCrossReference35, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 701, col: 8, offset: 22507}, + run: (*parser).callonCrossReference41, + expr: &litMatcher{ + pos: position{line: 701, col: 8, offset: 22507}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 686, col: 79, offset: 21893}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 688, col: 9, offset: 21966}, + run: (*parser).callonCrossReference44, + expr: &seqExpr{ + pos: position{line: 688, col: 9, offset: 21966}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 688, col: 9, offset: 21966}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 688, col: 14, offset: 21971}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + run: (*parser).callonCrossReference48, + expr: &oneOrMoreExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + expr: &charClassMatcher{ + pos: position{line: 2887, col: 7, offset: 91192}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 688, col: 22, offset: 21979}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 684, col: 44, offset: 21790}, + name: "ExternalCrossReference", + }, + }, + }, + }, + { + name: "ExternalCrossReference", + pos: position{line: 692, col: 1, offset: 22050}, + expr: &actionExpr{ + pos: position{line: 692, col: 27, offset: 22076}, + run: (*parser).callonExternalCrossReference1, + expr: &seqExpr{ + pos: position{line: 692, col: 27, offset: 22076}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 692, col: 27, offset: 22076}, + val: "xref:", + ignoreCase: false, + want: "\"xref:\"", + }, + &labeledExpr{ + pos: position{line: 692, col: 35, offset: 22084}, + label: "url", + expr: &actionExpr{ + pos: position{line: 2856, col: 17, offset: 90122}, + run: (*parser).callonExternalCrossReference5, + expr: &labeledExpr{ + pos: position{line: 2856, col: 17, offset: 90122}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2856, col: 22, offset: 90127}, + expr: &choiceExpr{ + pos: position{line: 2856, col: 23, offset: 90128}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonExternalCrossReference9, + expr: &seqExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2873, col: 5, offset: 90621}, + expr: &litMatcher{ + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2874, col: 14, offset: 90655}, + expr: &choiceExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonExternalCrossReference16, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonExternalCrossReference20, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, &actionExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - run: (*parser).callonLongHandAttributes751, - expr: &seqExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 589, col: 5, offset: 18188}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 589, col: 10, offset: 18193}, - expr: &litMatcher{ - pos: position{line: 589, col: 11, offset: 18194}, - val: "`", - ignoreCase: false, - want: "\"`\"", + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalCrossReference31, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonExternalCrossReference34, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalCrossReference41, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, - }, - &labeledExpr{ - pos: position{line: 590, col: 5, offset: 18273}, - label: "content", - expr: &actionExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - run: (*parser).callonLongHandAttributes757, - expr: &labeledExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 14, offset: 18431}, - expr: &choiceExpr{ - pos: position{line: 597, col: 9, offset: 18441}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes761, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes764, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes766, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes768, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes770, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes772, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes774, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes776, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes779, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes783, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes790, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes795, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes797, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes801, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes805, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes812, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes817, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes819, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes823, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes827, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes833, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes837, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 601, col: 12, offset: 18532}, - run: (*parser).callonLongHandAttributes843, - expr: &litMatcher{ - pos: position{line: 601, col: 12, offset: 18532}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 604, col: 13, offset: 18634}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 604, col: 21, offset: 18642}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 604, col: 29, offset: 18650}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 604, col: 35, offset: 18656}, - run: (*parser).callonLongHandAttributes848, - expr: &litMatcher{ - pos: position{line: 604, col: 35, offset: 18656}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - run: (*parser).callonLongHandAttributes850, - expr: &oneOrMoreExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - expr: &charClassMatcher{ - pos: position{line: 607, col: 12, offset: 18839}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExternalCrossReference43, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonExternalCrossReference51, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonExternalCrossReference54, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonExternalCrossReference57, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonExternalCrossReference60, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalCrossReference67, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonExternalCrossReference69, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonExternalCrossReference71, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonExternalCrossReference74, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 591, col: 5, offset: 18321}, - val: "\"", + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"\\\"\"", + want: "\"\\\\{\"", }, - &andExpr{ - pos: position{line: 591, col: 10, offset: 18326}, - expr: ¬Expr{ - pos: position{line: 591, col: 12, offset: 18328}, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalCrossReference78, expr: &seqExpr{ - pos: position{line: 591, col: 14, offset: 18330}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, &zeroOrMoreExpr{ - pos: position{line: 591, col: 14, offset: 18330}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes858, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, - &litMatcher{ - pos: position{line: 591, col: 21, offset: 18337}, - val: "=", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonExternalCrossReference84, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalCrossReference88, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"=\"", + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - run: (*parser).callonLongHandAttributes861, + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonExternalCrossReference94, expr: &seqExpr{ - pos: position{line: 504, col: 7, offset: 15612}, + pos: position{line: 658, col: 25, offset: 20788}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, &labeledExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 504, col: 16, offset: 15621}, - expr: &choiceExpr{ - pos: position{line: 507, col: 9, offset: 15803}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes866, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalCrossReference98, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"\\\"`\"", + inverted: false, }, }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes868, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonExternalCrossReference105, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - want: "\"`\\\"\"", + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonExternalCrossReference110, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonExternalCrossReference112, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes870, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonExternalCrossReference116, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalCrossReference120, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"'`\"", + inverted: false, }, }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes872, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonExternalCrossReference127, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - want: "\"`'\"", + want: "\":\"", }, - }, - &actionExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - run: (*parser).callonLongHandAttributes874, - expr: &oneOrMoreExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - expr: &charClassMatcher{ - pos: position{line: 508, col: 12, offset: 15829}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonExternalCrossReference132, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonExternalCrossReference134, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes877, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes879, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes882, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes886, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes893, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes898, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes900, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes904, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes908, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes915, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes920, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes922, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes926, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes930, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes936, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes940, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 513, col: 12, offset: 15997}, - run: (*parser).callonLongHandAttributes946, - expr: &litMatcher{ - pos: position{line: 513, col: 12, offset: 15997}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, - &andExpr{ - pos: position{line: 517, col: 5, offset: 16085}, - expr: ¬Expr{ - pos: position{line: 517, col: 7, offset: 16087}, - expr: &seqExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes952, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 517, col: 16, offset: 16096}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, @@ -17409,1538 +16185,1021 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 491, col: 30, offset: 15227}, - run: (*parser).callonLongHandAttributes955, - expr: &seqExpr{ - pos: position{line: 491, col: 30, offset: 15227}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 491, col: 30, offset: 15227}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - &labeledExpr{ - pos: position{line: 491, col: 34, offset: 15231}, - label: "role", - expr: &choiceExpr{ - pos: position{line: 502, col: 5, offset: 15544}, + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonExternalCrossReference138, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonExternalCrossReference140, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonExternalCrossReference144, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 692, col: 54, offset: 22103}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 692, col: 66, offset: 22115}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "MarkdownQuoteAttribution", + pos: position{line: 988, col: 1, offset: 30764}, + expr: &actionExpr{ + pos: position{line: 989, col: 5, offset: 30797}, + run: (*parser).callonMarkdownQuoteAttribution1, + expr: &seqExpr{ + pos: position{line: 989, col: 5, offset: 30797}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 989, col: 5, offset: 30797}, + val: "-- ", + ignoreCase: false, + want: "\"-- \"", + }, + &labeledExpr{ + pos: position{line: 989, col: 11, offset: 30803}, + label: "author", + expr: &actionExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonMarkdownQuoteAttribution5, + expr: &oneOrMoreExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, + expr: &charClassMatcher{ + pos: position{line: 2852, col: 14, offset: 90052}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonMarkdownQuoteAttribution9, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "DocumentHeader", + pos: position{line: 1100, col: 1, offset: 33720}, + expr: &actionExpr{ + pos: position{line: 1101, col: 5, offset: 33743}, + run: (*parser).callonDocumentHeader1, + expr: &seqExpr{ + pos: position{line: 1101, col: 5, offset: 33743}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1101, col: 5, offset: 33743}, + run: (*parser).callonDocumentHeader3, + }, + &zeroOrMoreExpr{ + pos: position{line: 1104, col: 5, offset: 33804}, + expr: &choiceExpr{ + pos: position{line: 1104, col: 6, offset: 33805}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonDocumentHeader6, + expr: &seqExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2471, col: 31, offset: 79490}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2471, col: 36, offset: 79495}, + expr: &litMatcher{ + pos: position{line: 2471, col: 37, offset: 79496}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2466, col: 49, offset: 79296}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader12, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader16, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + run: (*parser).callonDocumentHeader23, + expr: &seqExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader25, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader28, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader34, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader37, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 821, col: 5, offset: 26352}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 831, col: 5, offset: 26638}, + expr: &actionExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + run: (*parser).callonDocumentHeader46, + expr: &seqExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 831, col: 6, offset: 26639}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader50, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader53, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader59, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - run: (*parser).callonLongHandAttributes960, - expr: &seqExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - exprs: []interface{}{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader62, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 563, col: 5, offset: 17356}, - val: "'", + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - want: "\"'\"", + want: "\"\\n\"", }, - ¬Expr{ - pos: position{line: 563, col: 9, offset: 17360}, - expr: &litMatcher{ - pos: position{line: 563, col: 10, offset: 17361}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 564, col: 5, offset: 17440}, - label: "content", - expr: &actionExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - run: (*parser).callonLongHandAttributes966, - expr: &labeledExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 570, col: 14, offset: 17580}, - expr: &choiceExpr{ - pos: position{line: 571, col: 9, offset: 17590}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes970, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes973, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes975, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes977, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes979, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes981, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes983, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes985, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes988, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes992, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes999, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes1004, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes1006, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes1010, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1014, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes1021, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes1026, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes1028, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes1032, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1036, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes1042, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1046, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 575, col: 12, offset: 17680}, - run: (*parser).callonLongHandAttributes1052, - expr: &litMatcher{ - pos: position{line: 575, col: 12, offset: 17680}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 578, col: 13, offset: 17782}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 578, col: 20, offset: 17789}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 578, col: 27, offset: 17796}, - run: (*parser).callonLongHandAttributes1056, - expr: &litMatcher{ - pos: position{line: 578, col: 27, offset: 17796}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &actionExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - run: (*parser).callonLongHandAttributes1058, - expr: &oneOrMoreExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - expr: &charClassMatcher{ - pos: position{line: 581, col: 12, offset: 17956}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 565, col: 5, offset: 17488}, - val: "'", + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 832, col: 5, offset: 26669}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentHeader72, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader77, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader81, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 822, col: 5, offset: 26386}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader90, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader93, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader99, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader102, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1105, col: 5, offset: 33901}, + label: "title", + expr: &ruleRefExpr{ + pos: position{line: 1105, col: 12, offset: 33908}, + name: "DocumentTitle", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1106, col: 5, offset: 33927}, + expr: &choiceExpr{ + pos: position{line: 1106, col: 6, offset: 33928}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonDocumentHeader115, + expr: &seqExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2471, col: 31, offset: 79490}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2471, col: 36, offset: 79495}, + expr: &litMatcher{ + pos: position{line: 2471, col: 37, offset: 79496}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2466, col: 49, offset: 79296}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader121, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader125, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + run: (*parser).callonDocumentHeader132, + expr: &seqExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader134, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader137, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader143, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader146, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 821, col: 5, offset: 26352}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 831, col: 5, offset: 26638}, + expr: &actionExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + run: (*parser).callonDocumentHeader155, + expr: &seqExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 831, col: 6, offset: 26639}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader159, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader162, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", ignoreCase: false, - want: "\"'\"", + want: "\"/\"", }, }, }, }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader168, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - run: (*parser).callonLongHandAttributes1062, - expr: &seqExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - exprs: []interface{}{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader171, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 589, col: 5, offset: 18188}, - val: "\"", + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - want: "\"\\\"\"", + want: "\"\\n\"", }, - ¬Expr{ - pos: position{line: 589, col: 10, offset: 18193}, - expr: &litMatcher{ - pos: position{line: 589, col: 11, offset: 18194}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 590, col: 5, offset: 18273}, - label: "content", - expr: &actionExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - run: (*parser).callonLongHandAttributes1068, - expr: &labeledExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 14, offset: 18431}, - expr: &choiceExpr{ - pos: position{line: 597, col: 9, offset: 18441}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonLongHandAttributes1072, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes1075, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes1077, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes1079, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes1081, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes1083, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes1085, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes1087, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes1090, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1094, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes1101, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes1106, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes1108, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes1112, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1116, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes1123, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes1128, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes1130, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes1134, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1138, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes1144, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1148, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 601, col: 12, offset: 18532}, - run: (*parser).callonLongHandAttributes1154, - expr: &litMatcher{ - pos: position{line: 601, col: 12, offset: 18532}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 604, col: 13, offset: 18634}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 604, col: 21, offset: 18642}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 604, col: 29, offset: 18650}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 604, col: 35, offset: 18656}, - run: (*parser).callonLongHandAttributes1159, - expr: &litMatcher{ - pos: position{line: 604, col: 35, offset: 18656}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - run: (*parser).callonLongHandAttributes1161, - expr: &oneOrMoreExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - expr: &charClassMatcher{ - pos: position{line: 607, col: 12, offset: 18839}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 591, col: 5, offset: 18321}, - val: "\"", + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", ignoreCase: false, - want: "\"\\\"\"", - }, - &andExpr{ - pos: position{line: 591, col: 10, offset: 18326}, - expr: ¬Expr{ - pos: position{line: 591, col: 12, offset: 18328}, - expr: &seqExpr{ - pos: position{line: 591, col: 14, offset: 18330}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 591, col: 14, offset: 18330}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes1169, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 591, col: 21, offset: 18337}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - run: (*parser).callonLongHandAttributes1172, - expr: &seqExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 504, col: 7, offset: 15612}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 504, col: 16, offset: 15621}, - expr: &choiceExpr{ - pos: position{line: 507, col: 9, offset: 15803}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonLongHandAttributes1177, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonLongHandAttributes1179, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonLongHandAttributes1181, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonLongHandAttributes1183, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - run: (*parser).callonLongHandAttributes1185, - expr: &oneOrMoreExpr{ - pos: position{line: 508, col: 12, offset: 15829}, - expr: &charClassMatcher{ - pos: position{line: 508, col: 12, offset: 15829}, - val: "[^,=.%# \\r\\n�{]]", - chars: []rune{',', '=', '.', '%', '#', ' ', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes1188, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLongHandAttributes1190, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLongHandAttributes1193, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1197, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes1204, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes1209, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes1211, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLongHandAttributes1215, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1219, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLongHandAttributes1226, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLongHandAttributes1231, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLongHandAttributes1233, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLongHandAttributes1237, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1241, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLongHandAttributes1247, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLongHandAttributes1251, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 513, col: 12, offset: 15997}, - run: (*parser).callonLongHandAttributes1257, - expr: &litMatcher{ - pos: position{line: 513, col: 12, offset: 15997}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &andExpr{ - pos: position{line: 517, col: 5, offset: 16085}, - expr: ¬Expr{ - pos: position{line: 517, col: 7, offset: 16087}, - expr: &seqExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 517, col: 9, offset: 16089}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes1263, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 517, col: 16, offset: 16096}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 832, col: 5, offset: 26669}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentHeader181, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader186, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader190, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -18952,1281 +17211,790 @@ var g = &grammar{ }, }, }, - }, - &zeroOrOneExpr{ - pos: position{line: 465, col: 8, offset: 14502}, - expr: &seqExpr{ - pos: position{line: 465, col: 9, offset: 14503}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 465, col: 9, offset: 14503}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 465, col: 13, offset: 14507}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLongHandAttributes1270, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &zeroOrOneExpr{ + pos: position{line: 822, col: 5, offset: 26386}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader199, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader202, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader208, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader211, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 466, col: 5, offset: 14521}, - run: (*parser).callonLongHandAttributes1272, - }, }, }, }, }, }, &labeledExpr{ - pos: position{line: 439, col: 5, offset: 13628}, - label: "otherAttributes", - expr: &zeroOrMoreExpr{ - pos: position{line: 439, col: 21, offset: 13644}, - expr: &choiceExpr{ - pos: position{line: 439, col: 22, offset: 13645}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 439, col: 22, offset: 13645}, - name: "PositionalAttribute", - }, - &ruleRefExpr{ - pos: position{line: 439, col: 44, offset: 13667}, - name: "NamedAttribute", - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 440, col: 5, offset: 13688}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - }, - { - name: "PositionalAttribute", - pos: position{line: 522, col: 1, offset: 16174}, - expr: &choiceExpr{ - pos: position{line: 522, col: 24, offset: 16197}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 523, col: 5, offset: 16203}, - run: (*parser).callonPositionalAttribute2, - expr: &seqExpr{ - pos: position{line: 523, col: 5, offset: 16203}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 523, col: 5, offset: 16203}, - label: "value", - expr: &ruleRefExpr{ - pos: position{line: 523, col: 12, offset: 16210}, - name: "AttributeValue", - }, - }, - &choiceExpr{ - pos: position{line: 523, col: 29, offset: 16227}, - alternatives: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 523, col: 29, offset: 16227}, - expr: &seqExpr{ - pos: position{line: 523, col: 30, offset: 16228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 523, col: 30, offset: 16228}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 523, col: 34, offset: 16232}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonPositionalAttribute11, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &andExpr{ - pos: position{line: 523, col: 45, offset: 16243}, - expr: &litMatcher{ - pos: position{line: 523, col: 46, offset: 16244}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 528, col: 6, offset: 16389}, - run: (*parser).callonPositionalAttribute15, - expr: &seqExpr{ - pos: position{line: 528, col: 6, offset: 16389}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 528, col: 6, offset: 16389}, - label: "value", + pos: position{line: 1107, col: 5, offset: 34024}, + label: "authorsAndRevision", + expr: &zeroOrOneExpr{ + pos: position{line: 1107, col: 24, offset: 34043}, + expr: &actionExpr{ + pos: position{line: 1118, col: 5, offset: 34418}, + run: (*parser).callonDocumentHeader222, expr: &seqExpr{ - pos: position{line: 528, col: 13, offset: 16396}, + pos: position{line: 1118, col: 5, offset: 34418}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 528, col: 13, offset: 16396}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonPositionalAttribute20, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + ¬Expr{ + pos: position{line: 1118, col: 5, offset: 34418}, + expr: &litMatcher{ + pos: position{line: 1118, col: 6, offset: 34419}, + val: ":", + ignoreCase: false, + want: "\":\"", }, }, - &choiceExpr{ - pos: position{line: 528, col: 21, offset: 16404}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 528, col: 22, offset: 16405}, + &labeledExpr{ + pos: position{line: 1119, col: 5, offset: 34427}, + label: "authors", + expr: &actionExpr{ + pos: position{line: 1125, col: 20, offset: 34683}, + run: (*parser).callonDocumentHeader227, + expr: &seqExpr{ + pos: position{line: 1125, col: 20, offset: 34683}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 528, col: 22, offset: 16405}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, &zeroOrMoreExpr{ - pos: position{line: 528, col: 26, offset: 16409}, + pos: position{line: 1125, col: 20, offset: 34683}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonPositionalAttribute26, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader230, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, - }, - }, - &andExpr{ - pos: position{line: 528, col: 36, offset: 16419}, - expr: &litMatcher{ - pos: position{line: 528, col: 37, offset: 16420}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 529, col: 5, offset: 16430}, - run: (*parser).callonPositionalAttribute30, - }, - }, - }, - }, - }, - }, - }, - { - name: "NamedAttribute", - pos: position{line: 539, col: 1, offset: 16745}, - expr: &actionExpr{ - pos: position{line: 540, col: 5, offset: 16768}, - run: (*parser).callonNamedAttribute1, - expr: &seqExpr{ - pos: position{line: 540, col: 5, offset: 16768}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 540, col: 5, offset: 16768}, - label: "key", - expr: &actionExpr{ - pos: position{line: 548, col: 22, offset: 17056}, - run: (*parser).callonNamedAttribute4, - expr: &seqExpr{ - pos: position{line: 548, col: 22, offset: 17056}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 548, col: 22, offset: 17056}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNamedAttribute7, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &oneOrMoreExpr{ - pos: position{line: 548, col: 29, offset: 17063}, - expr: &charClassMatcher{ - pos: position{line: 548, col: 29, offset: 17063}, - val: "[^\\r\\n=,]]", - chars: []rune{'\r', '\n', '=', ',', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 541, col: 5, offset: 16797}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 541, col: 9, offset: 16801}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNamedAttribute13, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 542, col: 5, offset: 16813}, - label: "value", - expr: &ruleRefExpr{ - pos: position{line: 542, col: 12, offset: 16820}, - name: "AttributeValue", - }, - }, - &zeroOrOneExpr{ - pos: position{line: 542, col: 28, offset: 16836}, - expr: &seqExpr{ - pos: position{line: 542, col: 29, offset: 16837}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 542, col: 29, offset: 16837}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 542, col: 33, offset: 16841}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNamedAttribute21, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "AttributeValue", - pos: position{line: 552, col: 1, offset: 17120}, - expr: &actionExpr{ - pos: position{line: 553, col: 5, offset: 17143}, - run: (*parser).callonAttributeValue1, - expr: &seqExpr{ - pos: position{line: 553, col: 5, offset: 17143}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 553, col: 5, offset: 17143}, - label: "value", - expr: &choiceExpr{ - pos: position{line: 554, col: 9, offset: 17159}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - run: (*parser).callonAttributeValue5, - expr: &seqExpr{ - pos: position{line: 563, col: 5, offset: 17356}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 563, col: 5, offset: 17356}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - ¬Expr{ - pos: position{line: 563, col: 9, offset: 17360}, - expr: &litMatcher{ - pos: position{line: 563, col: 10, offset: 17361}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 564, col: 5, offset: 17440}, - label: "content", - expr: &actionExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - run: (*parser).callonAttributeValue11, - expr: &labeledExpr{ - pos: position{line: 570, col: 5, offset: 17571}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 570, col: 14, offset: 17580}, - expr: &choiceExpr{ - pos: position{line: 571, col: 9, offset: 17590}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonAttributeValue15, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeValue18, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonAttributeValue20, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonAttributeValue22, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonAttributeValue24, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonAttributeValue26, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonAttributeValue28, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonAttributeValue30, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonAttributeValue33, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue37, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonAttributeValue44, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonAttributeValue49, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonAttributeValue51, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 1125, col: 27, offset: 34690}, + label: "authors", + expr: &oneOrMoreExpr{ + pos: position{line: 1125, col: 36, offset: 34699}, + expr: &actionExpr{ + pos: position{line: 1130, col: 5, offset: 34812}, + run: (*parser).callonDocumentHeader234, + expr: &seqExpr{ + pos: position{line: 1130, col: 5, offset: 34812}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1130, col: 5, offset: 34812}, + label: "fullName", + expr: &zeroOrOneExpr{ + pos: position{line: 1130, col: 14, offset: 34821}, + expr: &actionExpr{ + pos: position{line: 1141, col: 5, offset: 35201}, + run: (*parser).callonDocumentHeader238, + expr: &seqExpr{ + pos: position{line: 1141, col: 5, offset: 35201}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1141, col: 5, offset: 35201}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1141, col: 12, offset: 35208}, + run: (*parser).callonDocumentHeader241, + expr: &oneOrMoreExpr{ + pos: position{line: 1141, col: 12, offset: 35208}, + expr: &charClassMatcher{ + pos: position{line: 1141, col: 12, offset: 35208}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonAttributeValue55, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", + &zeroOrMoreExpr{ + pos: position{line: 1144, col: 5, offset: 35288}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader245, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue59, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + inverted: false, }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonAttributeValue66, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonAttributeValue71, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonAttributeValue73, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, + }, + }, + &labeledExpr{ + pos: position{line: 1145, col: 5, offset: 35299}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1145, col: 11, offset: 35305}, + expr: &actionExpr{ + pos: position{line: 1145, col: 12, offset: 35306}, + run: (*parser).callonDocumentHeader249, + expr: &oneOrMoreExpr{ + pos: position{line: 1145, col: 12, offset: 35306}, + expr: &charClassMatcher{ + pos: position{line: 1145, col: 12, offset: 35306}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, }, }, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonAttributeValue77, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + &zeroOrMoreExpr{ + pos: position{line: 1148, col: 5, offset: 35387}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader253, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\\\{\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue81, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + }, + &labeledExpr{ + pos: position{line: 1149, col: 5, offset: 35398}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1149, col: 11, offset: 35404}, + expr: &actionExpr{ + pos: position{line: 1149, col: 12, offset: 35405}, + run: (*parser).callonDocumentHeader257, + expr: &oneOrMoreExpr{ + pos: position{line: 1149, col: 12, offset: 35405}, + expr: &charClassMatcher{ + pos: position{line: 1149, col: 12, offset: 35405}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1152, col: 5, offset: 35484}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader261, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonAttributeValue87, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue91, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1130, col: 40, offset: 34847}, + label: "email", + expr: &zeroOrOneExpr{ + pos: position{line: 1130, col: 46, offset: 34853}, + expr: &actionExpr{ + pos: position{line: 1158, col: 5, offset: 35606}, + run: (*parser).callonDocumentHeader265, + expr: &seqExpr{ + pos: position{line: 1158, col: 5, offset: 35606}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &litMatcher{ + pos: position{line: 1159, col: 5, offset: 35618}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1160, col: 5, offset: 35627}, + label: "email", + expr: &actionExpr{ + pos: position{line: 1160, col: 12, offset: 35634}, + run: (*parser).callonDocumentHeader271, + expr: &oneOrMoreExpr{ + pos: position{line: 1160, col: 13, offset: 35635}, + expr: &charClassMatcher{ + pos: position{line: 1160, col: 13, offset: 35635}, + val: "[^>\\r\\n]", + chars: []rune{'>', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, + &litMatcher{ + pos: position{line: 1163, col: 5, offset: 35695}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, }, }, }, }, }, + &zeroOrMoreExpr{ + pos: position{line: 1130, col: 69, offset: 34876}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader276, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1130, col: 76, offset: 34883}, + expr: &litMatcher{ + pos: position{line: 1130, col: 76, offset: 34883}, + val: ";", + ignoreCase: false, + want: "\";\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1130, col: 81, offset: 34888}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader281, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1131, col: 5, offset: 34900}, + run: (*parser).callonDocumentHeader283, + }, }, }, - &actionExpr{ - pos: position{line: 575, col: 12, offset: 17680}, - run: (*parser).callonAttributeValue97, - expr: &litMatcher{ - pos: position{line: 575, col: 12, offset: 17680}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - }, - &litMatcher{ - pos: position{line: 578, col: 13, offset: 17782}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - &litMatcher{ - pos: position{line: 578, col: 20, offset: 17789}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - &actionExpr{ - pos: position{line: 578, col: 27, offset: 17796}, - run: (*parser).callonAttributeValue101, - expr: &litMatcher{ - pos: position{line: 578, col: 27, offset: 17796}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - &actionExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - run: (*parser).callonAttributeValue103, - expr: &oneOrMoreExpr{ - pos: position{line: 581, col: 12, offset: 17956}, - expr: &charClassMatcher{ - pos: position{line: 581, col: 12, offset: 17956}, - val: "[^\\r\\n\\\\\\ ]", - chars: []rune{'\r', '\n', '\\', '\'', ' '}, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader285, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: true, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 565, col: 5, offset: 17488}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - run: (*parser).callonAttributeValue107, - expr: &seqExpr{ - pos: position{line: 589, col: 5, offset: 18188}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 589, col: 5, offset: 18188}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", - }, - ¬Expr{ - pos: position{line: 589, col: 10, offset: 18193}, - expr: &litMatcher{ - pos: position{line: 589, col: 11, offset: 18194}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &labeledExpr{ - pos: position{line: 590, col: 5, offset: 18273}, - label: "content", - expr: &actionExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - run: (*parser).callonAttributeValue113, - expr: &labeledExpr{ - pos: position{line: 596, col: 5, offset: 18422}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 596, col: 14, offset: 18431}, - expr: &choiceExpr{ - pos: position{line: 597, col: 9, offset: 18441}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonAttributeValue117, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, + &zeroOrMoreExpr{ + pos: position{line: 1120, col: 5, offset: 34457}, + expr: &choiceExpr{ + pos: position{line: 1120, col: 6, offset: 34458}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonDocumentHeader294, + expr: &seqExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2471, col: 31, offset: 79490}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2471, col: 36, offset: 79495}, + expr: &litMatcher{ + pos: position{line: 2471, col: 37, offset: 79496}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2466, col: 49, offset: 79296}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader300, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - inverted: false, + inverted: true, }, }, }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeValue120, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonAttributeValue122, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonAttributeValue124, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader304, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonAttributeValue126, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonAttributeValue128, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + run: (*parser).callonDocumentHeader311, + expr: &seqExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader313, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader316, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader322, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader325, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, }, }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonAttributeValue130, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonAttributeValue132, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonAttributeValue135, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue139, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, + }, + &labeledExpr{ + pos: position{line: 821, col: 5, offset: 26352}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 831, col: 5, offset: 26638}, + expr: &actionExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + run: (*parser).callonDocumentHeader334, + expr: &seqExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 831, col: 6, offset: 26639}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader338, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonAttributeValue146, + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader341, expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", ignoreCase: false, - want: "\":\"", + want: "\"////\"", }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonAttributeValue151, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonAttributeValue153, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", }, }, }, }, }, }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonAttributeValue157, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue161, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader347, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonAttributeValue168, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonAttributeValue173, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonAttributeValue175, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader350, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonAttributeValue179, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", + }, + }, + &labeledExpr{ + pos: position{line: 832, col: 5, offset: 26669}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentHeader360, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue183, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader365, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonAttributeValue189, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeValue193, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader369, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -20237,303 +18005,253 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 601, col: 12, offset: 18532}, - run: (*parser).callonAttributeValue199, - expr: &litMatcher{ - pos: position{line: 601, col: 12, offset: 18532}, - val: "\\\"", - ignoreCase: false, - want: "\"\\\\\\\"\"", - }, - }, - &litMatcher{ - pos: position{line: 604, col: 13, offset: 18634}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - &litMatcher{ - pos: position{line: 604, col: 21, offset: 18642}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - &litMatcher{ - pos: position{line: 604, col: 29, offset: 18650}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &actionExpr{ - pos: position{line: 604, col: 35, offset: 18656}, - run: (*parser).callonAttributeValue204, - expr: &litMatcher{ - pos: position{line: 604, col: 35, offset: 18656}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - run: (*parser).callonAttributeValue206, - expr: &oneOrMoreExpr{ - pos: position{line: 607, col: 12, offset: 18839}, - expr: &charClassMatcher{ - pos: position{line: 607, col: 12, offset: 18839}, - val: "[^\\r\\n\\\\\"` ]", - chars: []rune{'\r', '\n', '\\', '"', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 591, col: 5, offset: 18321}, - val: "\"", - ignoreCase: false, - want: "\"\\\"\"", + &zeroOrOneExpr{ + pos: position{line: 822, col: 5, offset: 26386}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader378, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader381, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader387, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader390, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - &andExpr{ - pos: position{line: 591, col: 10, offset: 18326}, - expr: ¬Expr{ - pos: position{line: 591, col: 12, offset: 18328}, + }, + &labeledExpr{ + pos: position{line: 1121, col: 5, offset: 34532}, + label: "revision", + expr: &zeroOrOneExpr{ + pos: position{line: 1121, col: 14, offset: 34541}, + expr: &actionExpr{ + pos: position{line: 1169, col: 21, offset: 35884}, + run: (*parser).callonDocumentHeader401, expr: &seqExpr{ - pos: position{line: 591, col: 14, offset: 18330}, + pos: position{line: 1169, col: 21, offset: 35884}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 591, col: 14, offset: 18330}, + pos: position{line: 1169, col: 21, offset: 35884}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeValue214, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader404, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 591, col: 21, offset: 18337}, - val: "=", - ignoreCase: false, - want: "\"=\"", + ¬Expr{ + pos: position{line: 1169, col: 28, offset: 35891}, + expr: &litMatcher{ + pos: position{line: 1169, col: 29, offset: 35892}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 556, col: 11, offset: 17235}, - name: "UnquotedAttributeValue", - }, - }, - }, - }, - &andExpr{ - pos: position{line: 558, col: 5, offset: 17269}, - expr: ¬Expr{ - pos: position{line: 558, col: 7, offset: 17271}, - expr: &seqExpr{ - pos: position{line: 558, col: 9, offset: 17273}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 558, col: 9, offset: 17273}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeValue222, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 558, col: 16, offset: 17280}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "UnquotedAttributeValue", - pos: position{line: 615, col: 1, offset: 19113}, - expr: &actionExpr{ - pos: position{line: 618, col: 5, offset: 19297}, - run: (*parser).callonUnquotedAttributeValue1, - expr: &seqExpr{ - pos: position{line: 618, col: 5, offset: 19297}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 618, col: 5, offset: 19297}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonUnquotedAttributeValue4, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 619, col: 5, offset: 19366}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 619, col: 14, offset: 19375}, - expr: &choiceExpr{ - pos: position{line: 620, col: 9, offset: 19385}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 620, col: 10, offset: 19386}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 620, col: 10, offset: 19386}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - &ruleRefExpr{ - pos: position{line: 620, col: 14, offset: 19390}, - name: "UnquotedAttributeValue", - }, - &litMatcher{ - pos: position{line: 620, col: 37, offset: 19413}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonUnquotedAttributeValue13, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonUnquotedAttributeValue15, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonUnquotedAttributeValue18, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonUnquotedAttributeValue22, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonUnquotedAttributeValue29, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonUnquotedAttributeValue34, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + &labeledExpr{ + pos: position{line: 1169, col: 33, offset: 35896}, + label: "revision", + expr: &choiceExpr{ + pos: position{line: 1170, col: 9, offset: 35915}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1170, col: 10, offset: 35916}, + run: (*parser).callonDocumentHeader410, + expr: &seqExpr{ + pos: position{line: 1170, col: 10, offset: 35916}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1170, col: 10, offset: 35916}, + label: "revnumber", + expr: &choiceExpr{ + pos: position{line: 1179, col: 27, offset: 36433}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1179, col: 27, offset: 36433}, + run: (*parser).callonDocumentHeader414, + expr: &seqExpr{ + pos: position{line: 1179, col: 27, offset: 36433}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1179, col: 27, offset: 36433}, + val: "v", + ignoreCase: true, + want: "\"v\"i", + }, + &charClassMatcher{ + pos: position{line: 1179, col: 32, offset: 36438}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, + &oneOrMoreExpr{ + pos: position{line: 1179, col: 38, offset: 36444}, + expr: &charClassMatcher{ + pos: position{line: 1179, col: 38, offset: 36444}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonUnquotedAttributeValue36, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, + }, + }, + &actionExpr{ + pos: position{line: 1181, col: 5, offset: 36492}, + run: (*parser).callonDocumentHeader420, + expr: &seqExpr{ + pos: position{line: 1181, col: 5, offset: 36492}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 1181, col: 5, offset: 36492}, + expr: &litMatcher{ + pos: position{line: 1181, col: 5, offset: 36492}, + val: "v", + ignoreCase: true, + want: "\"v\"i", + }, + }, + &charClassMatcher{ + pos: position{line: 1181, col: 11, offset: 36498}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 1181, col: 17, offset: 36504}, expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + pos: position{line: 1181, col: 17, offset: 36504}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, ignoreCase: false, - inverted: false, + inverted: true, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1181, col: 28, offset: 36515}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader428, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1181, col: 35, offset: 36522}, + expr: &litMatcher{ + pos: position{line: 1181, col: 36, offset: 36523}, + val: ",", + ignoreCase: false, + want: "\",\"", }, }, }, @@ -20542,110 +18260,118 @@ var g = &grammar{ }, }, }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonUnquotedAttributeValue40, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonUnquotedAttributeValue44, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &zeroOrOneExpr{ + pos: position{line: 1170, col: 45, offset: 35951}, + expr: &litMatcher{ + pos: position{line: 1170, col: 45, offset: 35951}, + val: ",", ignoreCase: false, - inverted: false, + want: "\",\"", }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + }, + &labeledExpr{ + pos: position{line: 1170, col: 50, offset: 35956}, + label: "revdate", + expr: &zeroOrOneExpr{ + pos: position{line: 1170, col: 58, offset: 35964}, + expr: &actionExpr{ + pos: position{line: 1185, col: 25, offset: 36587}, + run: (*parser).callonDocumentHeader436, + expr: &oneOrMoreExpr{ + pos: position{line: 1185, col: 25, offset: 36587}, + expr: &charClassMatcher{ + pos: position{line: 1185, col: 25, offset: 36587}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1170, col: 82, offset: 35988}, + expr: &litMatcher{ + pos: position{line: 1170, col: 82, offset: 35988}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1170, col: 87, offset: 35993}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1170, col: 97, offset: 36003}, + expr: &actionExpr{ + pos: position{line: 1189, col: 27, offset: 36659}, + run: (*parser).callonDocumentHeader443, + expr: &oneOrMoreExpr{ + pos: position{line: 1189, col: 27, offset: 36659}, + expr: &charClassMatcher{ + pos: position{line: 1189, col: 27, offset: 36659}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, }, }, }, }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonUnquotedAttributeValue51, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", + &actionExpr{ + pos: position{line: 1172, col: 15, offset: 36121}, + run: (*parser).callonDocumentHeader446, + expr: &seqExpr{ + pos: position{line: 1172, col: 15, offset: 36121}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1172, col: 15, offset: 36121}, + label: "revdate", + expr: &actionExpr{ + pos: position{line: 1185, col: 25, offset: 36587}, + run: (*parser).callonDocumentHeader449, + expr: &oneOrMoreExpr{ + pos: position{line: 1185, col: 25, offset: 36587}, + expr: &charClassMatcher{ + pos: position{line: 1185, col: 25, offset: 36587}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonUnquotedAttributeValue56, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonUnquotedAttributeValue58, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1172, col: 46, offset: 36152}, + expr: &litMatcher{ + pos: position{line: 1172, col: 46, offset: 36152}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1172, col: 51, offset: 36157}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1172, col: 61, offset: 36167}, + expr: &actionExpr{ + pos: position{line: 1189, col: 27, offset: 36659}, + run: (*parser).callonDocumentHeader456, + expr: &oneOrMoreExpr{ + pos: position{line: 1189, col: 27, offset: 36659}, + expr: &charClassMatcher{ + pos: position{line: 1189, col: 27, offset: 36659}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, @@ -20654,117 +18380,43 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonUnquotedAttributeValue62, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonUnquotedAttributeValue66, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader460, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonUnquotedAttributeValue72, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonUnquotedAttributeValue76, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -20775,757 +18427,505 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 621, col: 32, offset: 19500}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonUnquotedAttributeValue83, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 623, col: 12, offset: 19585}, - run: (*parser).callonUnquotedAttributeValue85, - expr: &oneOrMoreExpr{ - pos: position{line: 623, col: 12, offset: 19585}, - expr: &charClassMatcher{ - pos: position{line: 623, col: 12, offset: 19585}, - val: "[^=,]{ ]", - chars: []rune{'=', ',', ']', '{', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, }, }, }, }, - }, - }, - }, - }, - { - name: "CrossReference", - pos: position{line: 683, col: 1, offset: 21724}, - expr: &choiceExpr{ - pos: position{line: 683, col: 19, offset: 21742}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonCrossReference2, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonCrossReference6, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonCrossReference10, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1108, col: 5, offset: 34078}, + label: "extraElements", + expr: &zeroOrMoreExpr{ + pos: position{line: 1108, col: 19, offset: 34092}, + expr: &choiceExpr{ + pos: position{line: 1108, col: 20, offset: 34093}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 1108, col: 20, offset: 34093}, + name: "AttributeDeclaration", }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonCrossReference16, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 360, col: 19, offset: 10911}, + run: (*parser).callonDocumentHeader471, + expr: &seqExpr{ + pos: position{line: 360, col: 19, offset: 10911}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 360, col: 19, offset: 10911}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, + &labeledExpr{ + pos: position{line: 360, col: 24, offset: 10916}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDocumentHeader475, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonCrossReference21, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + &litMatcher{ + pos: position{line: 360, col: 45, offset: 10937}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 360, col: 49, offset: 10941}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader482, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\\\{\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonCrossReference25, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader485, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonCrossReference31, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonCrossReference35, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + &actionExpr{ + pos: position{line: 362, col: 9, offset: 11032}, + run: (*parser).callonDocumentHeader492, + expr: &seqExpr{ + pos: position{line: 362, col: 9, offset: 11032}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 362, col: 9, offset: 11032}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 362, col: 13, offset: 11036}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonDocumentHeader496, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", + }, + }, + &litMatcher{ + pos: position{line: 362, col: 34, offset: 11057}, + val: "!:", + ignoreCase: false, + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 362, col: 39, offset: 11062}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader503, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonCrossReference41, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader506, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, }, }, }, }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonCrossReference44, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonCrossReference48, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 683, col: 44, offset: 21767}, - name: "ExternalCrossReference", - }, - }, - }, - }, - { - name: "ExternalCrossReference", - pos: position{line: 691, col: 1, offset: 22027}, - expr: &actionExpr{ - pos: position{line: 691, col: 27, offset: 22053}, - run: (*parser).callonExternalCrossReference1, - expr: &seqExpr{ - pos: position{line: 691, col: 27, offset: 22053}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 691, col: 27, offset: 22053}, - val: "xref:", - ignoreCase: false, - want: "\"xref:\"", - }, - &labeledExpr{ - pos: position{line: 691, col: 35, offset: 22061}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2865, col: 17, offset: 90757}, - run: (*parser).callonExternalCrossReference5, - expr: &labeledExpr{ - pos: position{line: 2865, col: 17, offset: 90757}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2865, col: 22, offset: 90762}, - expr: &choiceExpr{ - pos: position{line: 2865, col: 23, offset: 90763}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonExternalCrossReference9, - expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", + &actionExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonDocumentHeader513, + expr: &seqExpr{ + pos: position{line: 2466, col: 22, offset: 79269}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2471, col: 31, offset: 79490}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2471, col: 36, offset: 79495}, + expr: &litMatcher{ + pos: position{line: 2471, col: 37, offset: 79496}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2466, col: 49, offset: 79296}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader519, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - want: "\"[\"", + inverted: true, }, }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, - expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonExternalCrossReference16, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader523, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + run: (*parser).callonDocumentHeader530, + expr: &seqExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader532, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader535, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", ignoreCase: false, - inverted: true, + want: "\"/\"", }, }, }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonExternalCrossReference20, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExternalCrossReference27, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader541, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader544, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonExternalCrossReference29, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonExternalCrossReference31, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonExternalCrossReference34, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 821, col: 5, offset: 26352}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 831, col: 5, offset: 26638}, + expr: &actionExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + run: (*parser).callonDocumentHeader553, + expr: &seqExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 831, col: 6, offset: 26639}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader557, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader560, expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalCrossReference38, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + want: "\"////\"", }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonExternalCrossReference45, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonExternalCrossReference50, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonExternalCrossReference52, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonExternalCrossReference56, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalCrossReference60, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonExternalCrossReference67, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonExternalCrossReference72, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonExternalCrossReference74, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader566, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonExternalCrossReference78, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalCrossReference82, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader569, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", }, }, }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonExternalCrossReference88, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalCrossReference92, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -21533,16 +18933,87 @@ var g = &grammar{ }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonExternalCrossReference98, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 832, col: 5, offset: 26669}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonDocumentHeader579, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonDocumentHeader584, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader588, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, }, }, }, @@ -21551,42 +19022,106 @@ var g = &grammar{ }, }, }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonExternalCrossReference100, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonExternalCrossReference104, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &zeroOrOneExpr{ + pos: position{line: 822, col: 5, offset: 26386}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonDocumentHeader597, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonDocumentHeader600, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentHeader606, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentHeader609, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, }, }, }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -21597,74 +19132,70 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 691, col: 54, offset: 22080}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 691, col: 66, offset: 22092}, - name: "InlineAttributes", - }, - }, }, }, }, }, { - name: "MarkdownQuoteAttribution", - pos: position{line: 987, col: 1, offset: 30739}, + name: "DocumentTitle", + pos: position{line: 1112, col: 1, offset: 34290}, expr: &actionExpr{ - pos: position{line: 988, col: 5, offset: 30772}, - run: (*parser).callonMarkdownQuoteAttribution1, + pos: position{line: 1113, col: 5, offset: 34312}, + run: (*parser).callonDocumentTitle1, expr: &seqExpr{ - pos: position{line: 988, col: 5, offset: 30772}, + pos: position{line: 1113, col: 5, offset: 34312}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 988, col: 5, offset: 30772}, - val: "-- ", + pos: position{line: 1113, col: 5, offset: 34312}, + val: "=", ignoreCase: false, - want: "\"-- \"", + want: "\"=\"", }, - &labeledExpr{ - pos: position{line: 988, col: 11, offset: 30778}, - label: "author", - expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonMarkdownQuoteAttribution5, - expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonDocumentTitle4, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, }, + &labeledExpr{ + pos: position{line: 1113, col: 16, offset: 34323}, + label: "title", + expr: &ruleRefExpr{ + pos: position{line: 1113, col: 23, offset: 34330}, + name: "SectionTitle", + }, + }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonMarkdownQuoteAttribution9, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonDocumentTitle10, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -21673,9 +19204,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -21685,383 +19216,371 @@ var g = &grammar{ }, }, { - name: "DocumentHeader", - pos: position{line: 1099, col: 1, offset: 33695}, + name: "DocumentAuthorFullName", + pos: position{line: 1140, col: 1, offset: 35170}, expr: &actionExpr{ - pos: position{line: 1100, col: 5, offset: 33718}, - run: (*parser).callonDocumentHeader1, + pos: position{line: 1141, col: 5, offset: 35201}, + run: (*parser).callonDocumentAuthorFullName1, expr: &seqExpr{ - pos: position{line: 1100, col: 5, offset: 33718}, + pos: position{line: 1141, col: 5, offset: 35201}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1100, col: 5, offset: 33718}, - run: (*parser).callonDocumentHeader3, + &labeledExpr{ + pos: position{line: 1141, col: 5, offset: 35201}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1141, col: 12, offset: 35208}, + run: (*parser).callonDocumentAuthorFullName4, + expr: &oneOrMoreExpr{ + pos: position{line: 1141, col: 12, offset: 35208}, + expr: &charClassMatcher{ + pos: position{line: 1141, col: 12, offset: 35208}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, &zeroOrMoreExpr{ - pos: position{line: 1103, col: 5, offset: 33779}, - expr: &choiceExpr{ - pos: position{line: 1103, col: 6, offset: 33780}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonDocumentHeader6, - expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, - val: "//", + pos: position{line: 1144, col: 5, offset: 35288}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentAuthorFullName8, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1145, col: 5, offset: 35299}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1145, col: 11, offset: 35305}, + expr: &actionExpr{ + pos: position{line: 1145, col: 12, offset: 35306}, + run: (*parser).callonDocumentAuthorFullName12, + expr: &oneOrMoreExpr{ + pos: position{line: 1145, col: 12, offset: 35306}, + expr: &charClassMatcher{ + pos: position{line: 1145, col: 12, offset: 35306}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1148, col: 5, offset: 35387}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentAuthorFullName16, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1149, col: 5, offset: 35398}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1149, col: 11, offset: 35404}, + expr: &actionExpr{ + pos: position{line: 1149, col: 12, offset: 35405}, + run: (*parser).callonDocumentAuthorFullName20, + expr: &oneOrMoreExpr{ + pos: position{line: 1149, col: 12, offset: 35405}, + expr: &charClassMatcher{ + pos: position{line: 1149, col: 12, offset: 35405}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1152, col: 5, offset: 35484}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonDocumentAuthorFullName24, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineButton", + pos: position{line: 1265, col: 1, offset: 39208}, + expr: &actionExpr{ + pos: position{line: 1266, col: 5, offset: 39229}, + run: (*parser).callonInlineButton1, + expr: &seqExpr{ + pos: position{line: 1266, col: 5, offset: 39229}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1266, col: 5, offset: 39229}, + run: (*parser).callonInlineButton3, + }, + &litMatcher{ + pos: position{line: 1269, col: 5, offset: 39288}, + val: "btn:", + ignoreCase: false, + want: "\"btn:\"", + }, + &labeledExpr{ + pos: position{line: 1269, col: 12, offset: 39295}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1269, col: 24, offset: 39307}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "InlineMenu", + pos: position{line: 1276, col: 1, offset: 39595}, + expr: &actionExpr{ + pos: position{line: 1277, col: 5, offset: 39614}, + run: (*parser).callonInlineMenu1, + expr: &seqExpr{ + pos: position{line: 1277, col: 5, offset: 39614}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1277, col: 5, offset: 39614}, + run: (*parser).callonInlineMenu3, + }, + &litMatcher{ + pos: position{line: 1280, col: 5, offset: 39673}, + val: "menu:", + ignoreCase: false, + want: "\"menu:\"", + }, + &labeledExpr{ + pos: position{line: 1280, col: 13, offset: 39681}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + run: (*parser).callonInlineMenu6, + expr: &oneOrMoreExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + expr: &charClassMatcher{ + pos: position{line: 2887, col: 7, offset: 91192}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1280, col: 21, offset: 39689}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1280, col: 33, offset: 39701}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "IndexTerm", + pos: position{line: 1287, col: 1, offset: 40000}, + expr: &actionExpr{ + pos: position{line: 1287, col: 14, offset: 40013}, + run: (*parser).callonIndexTerm1, + expr: &seqExpr{ + pos: position{line: 1287, col: 14, offset: 40013}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1287, col: 14, offset: 40013}, + val: "((", + ignoreCase: false, + want: "\"((\"", + }, + &labeledExpr{ + pos: position{line: 1287, col: 19, offset: 40018}, + label: "term", + expr: &ruleRefExpr{ + pos: position{line: 1287, col: 25, offset: 40024}, + name: "IndexTermContent", + }, + }, + &litMatcher{ + pos: position{line: 1287, col: 43, offset: 40042}, + val: "))", + ignoreCase: false, + want: "\"))\"", + }, + }, + }, + }, + }, + { + name: "IndexTermContent", + pos: position{line: 1291, col: 1, offset: 40111}, + expr: &actionExpr{ + pos: position{line: 1291, col: 21, offset: 40131}, + run: (*parser).callonIndexTermContent1, + expr: &labeledExpr{ + pos: position{line: 1291, col: 21, offset: 40131}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 1291, col: 30, offset: 40140}, + expr: &choiceExpr{ + pos: position{line: 1291, col: 31, offset: 40141}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + run: (*parser).callonIndexTermContent5, + expr: &seqExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + expr: &charClassMatcher{ + pos: position{line: 2755, col: 5, offset: 87520}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, - expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, + inverted: false, }, - &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader12, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + }, + &choiceExpr{ + pos: position{line: 2771, col: 9, offset: 87859}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonIndexTermContent10, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader16, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonIndexTermContent12, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - run: (*parser).callonDocumentHeader23, - expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader25, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader28, + &andCodeExpr{ + pos: position{line: 2773, col: 11, offset: 87889}, + run: (*parser).callonIndexTermContent18, + }, + &andExpr{ + pos: position{line: 2776, col: 11, offset: 87967}, + expr: &seqExpr{ + pos: position{line: 2777, col: 13, offset: 87982}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2777, col: 13, offset: 87982}, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 2777, col: 15, offset: 87984}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", + pos: position{line: 2777, col: 15, offset: 87984}, + val: ":", ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader34, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader37, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + want: "\":\"", }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26327}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 830, col: 5, offset: 26613}, - expr: &actionExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - run: (*parser).callonDocumentHeader46, - expr: &seqExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 830, col: 6, offset: 26614}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader50, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader53, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, + ¬Expr{ + pos: position{line: 2777, col: 19, offset: 87988}, + expr: &choiceExpr{ + pos: position{line: 2777, col: 21, offset: 87990}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonIndexTermContent26, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader59, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonIndexTermContent28, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader62, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 831, col: 5, offset: 26644}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentHeader72, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader78, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader82, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -22070,493 +19589,837 @@ var g = &grammar{ }, }, }, + ¬Expr{ + pos: position{line: 2778, col: 13, offset: 88016}, + expr: &litMatcher{ + pos: position{line: 2778, col: 14, offset: 88017}, + val: "@", + ignoreCase: false, + want: "\"@\"", + }, + }, }, }, }, }, - &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26361}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader91, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader94, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader100, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader103, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 1104, col: 5, offset: 33876}, - label: "title", - expr: &ruleRefExpr{ - pos: position{line: 1104, col: 12, offset: 33883}, - name: "DocumentTitle", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1105, col: 5, offset: 33902}, - expr: &choiceExpr{ - pos: position{line: 1105, col: 6, offset: 33903}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonDocumentHeader116, - expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, - expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, - val: "//", + &ruleRefExpr{ + pos: position{line: 1291, col: 44, offset: 40154}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonIndexTermContent38, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonIndexTermContent40, + expr: &seqExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonIndexTermContent42, + }, + &labeledExpr{ + pos: position{line: 2456, col: 5, offset: 78891}, + label: "element", + expr: &actionExpr{ + pos: position{line: 2457, col: 9, offset: 78909}, + run: (*parser).callonIndexTermContent44, + expr: &charClassMatcher{ + pos: position{line: 2457, col: 10, offset: 78910}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, ignoreCase: false, - want: "\"//\"", + inverted: false, }, }, - &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader122, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonIndexTermContent46, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonIndexTermContent50, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader126, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1291, col: 105, offset: 40215}, + run: (*parser).callonIndexTermContent54, + expr: &seqExpr{ + pos: position{line: 1291, col: 106, offset: 40216}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1291, col: 106, offset: 40216}, + expr: &litMatcher{ + pos: position{line: 1291, col: 107, offset: 40217}, + val: "))", + ignoreCase: false, + want: "\"))\"", }, }, + &anyMatcher{ + line: 1291, col: 112, offset: 40222, + }, }, }, - &actionExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - run: (*parser).callonDocumentHeader133, - expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader135, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader138, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, + }, + }, + }, + }, + }, + }, + }, + { + name: "ImageBlock", + pos: position{line: 1311, col: 1, offset: 40931}, + expr: &actionExpr{ + pos: position{line: 1312, col: 5, offset: 40950}, + run: (*parser).callonImageBlock1, + expr: &seqExpr{ + pos: position{line: 1312, col: 5, offset: 40950}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1312, col: 5, offset: 40950}, + val: "image::", + ignoreCase: false, + want: "\"image::\"", + }, + &labeledExpr{ + pos: position{line: 1312, col: 15, offset: 40960}, + label: "path", + expr: &actionExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + run: (*parser).callonImageBlock5, + expr: &seqExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 2860, col: 20, offset: 90247}, + expr: &actionExpr{ + pos: position{line: 2868, col: 11, offset: 90509}, + run: (*parser).callonImageBlock9, + expr: &choiceExpr{ + pos: position{line: 2868, col: 12, offset: 90510}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2868, col: 12, offset: 90510}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader144, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 2868, col: 24, offset: 90522}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader147, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, + &litMatcher{ + pos: position{line: 2868, col: 37, offset: 90535}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 48, offset: 90546}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 59, offset: 90557}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", }, }, }, }, - &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26327}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 830, col: 5, offset: 26613}, - expr: &actionExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - run: (*parser).callonDocumentHeader156, + }, + }, + &labeledExpr{ + pos: position{line: 2860, col: 30, offset: 90257}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2860, col: 35, offset: 90262}, + expr: &choiceExpr{ + pos: position{line: 2860, col: 36, offset: 90263}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonImageBlock19, expr: &seqExpr{ - pos: position{line: 830, col: 6, offset: 26614}, + pos: position{line: 2873, col: 5, offset: 90621}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 830, col: 6, offset: 26614}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader160, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 2873, col: 5, offset: 90621}, + expr: &litMatcher{ + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2874, col: 14, offset: 90655}, + expr: &choiceExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonImageBlock26, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader163, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonImageBlock30, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", ignoreCase: false, - want: "\"/\"", + want: "\"..\"", }, }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader169, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonImageBlock41, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader172, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ + }, + }, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonImageBlock44, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", ignoreCase: false, - want: "\"\\n\"", + want: "\":\"", }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonImageBlock51, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonImageBlock53, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonImageBlock61, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, ignoreCase: false, - want: "\"\\r\\n\"", + inverted: false, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonImageBlock64, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonImageBlock67, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonImageBlock70, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + }, + }, + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonImageBlock77, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 831, col: 5, offset: 26644}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentHeader182, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader188, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonImageBlock79, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonImageBlock81, }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader192, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonImageBlock84, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonImageBlock88, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonImageBlock94, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonImageBlock98, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonImageBlock104, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonImageBlock108, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonImageBlock115, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonImageBlock120, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonImageBlock122, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonImageBlock126, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonImageBlock130, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonImageBlock137, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonImageBlock142, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonImageBlock144, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + }, + }, + &actionExpr{ + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonImageBlock148, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, }, }, @@ -22566,106 +20429,42 @@ var g = &grammar{ }, }, }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26361}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader201, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader204, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader210, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonImageBlock150, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonImageBlock154, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader213, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, }, }, }, @@ -22678,943 +20477,766 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1106, col: 5, offset: 33999}, - label: "authorsAndRevision", - expr: &zeroOrOneExpr{ - pos: position{line: 1106, col: 24, offset: 34018}, - expr: &actionExpr{ - pos: position{line: 1117, col: 5, offset: 34393}, - run: (*parser).callonDocumentHeader224, - expr: &seqExpr{ - pos: position{line: 1117, col: 5, offset: 34393}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1117, col: 5, offset: 34393}, - expr: &litMatcher{ - pos: position{line: 1117, col: 6, offset: 34394}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, + pos: position{line: 1312, col: 31, offset: 40976}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1312, col: 43, offset: 40988}, + name: "InlineAttributes", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1312, col: 61, offset: 41006}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonImageBlock161, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonImageBlock164, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &labeledExpr{ - pos: position{line: 1118, col: 5, offset: 34402}, - label: "authors", + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineImage", + pos: position{line: 1317, col: 1, offset: 41223}, + expr: &actionExpr{ + pos: position{line: 1317, col: 16, offset: 41238}, + run: (*parser).callonInlineImage1, + expr: &seqExpr{ + pos: position{line: 1317, col: 16, offset: 41238}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1317, col: 16, offset: 41238}, + val: "image:", + ignoreCase: false, + want: "\"image:\"", + }, + ¬Expr{ + pos: position{line: 1317, col: 25, offset: 41247}, + expr: &litMatcher{ + pos: position{line: 1317, col: 26, offset: 41248}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1317, col: 30, offset: 41252}, + label: "path", + expr: &actionExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + run: (*parser).callonInlineImage7, + expr: &seqExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 2860, col: 20, offset: 90247}, expr: &actionExpr{ - pos: position{line: 1124, col: 20, offset: 34658}, - run: (*parser).callonDocumentHeader229, - expr: &seqExpr{ - pos: position{line: 1124, col: 20, offset: 34658}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1124, col: 20, offset: 34658}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader232, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + pos: position{line: 2868, col: 11, offset: 90509}, + run: (*parser).callonInlineImage11, + expr: &choiceExpr{ + pos: position{line: 2868, col: 12, offset: 90510}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2868, col: 12, offset: 90510}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", }, - &labeledExpr{ - pos: position{line: 1124, col: 27, offset: 34665}, - label: "authors", - expr: &oneOrMoreExpr{ - pos: position{line: 1124, col: 36, offset: 34674}, - expr: &actionExpr{ - pos: position{line: 1129, col: 5, offset: 34787}, - run: (*parser).callonDocumentHeader236, - expr: &seqExpr{ - pos: position{line: 1129, col: 5, offset: 34787}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1129, col: 5, offset: 34787}, - label: "fullName", - expr: &zeroOrOneExpr{ - pos: position{line: 1129, col: 14, offset: 34796}, - expr: &actionExpr{ - pos: position{line: 1140, col: 5, offset: 35176}, - run: (*parser).callonDocumentHeader240, - expr: &seqExpr{ - pos: position{line: 1140, col: 5, offset: 35176}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1140, col: 5, offset: 35176}, - label: "part1", - expr: &actionExpr{ - pos: position{line: 1140, col: 12, offset: 35183}, - run: (*parser).callonDocumentHeader243, - expr: &oneOrMoreExpr{ - pos: position{line: 1140, col: 12, offset: 35183}, - expr: &charClassMatcher{ - pos: position{line: 1140, col: 12, offset: 35183}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1143, col: 5, offset: 35263}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader247, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1144, col: 5, offset: 35274}, - label: "part2", - expr: &zeroOrOneExpr{ - pos: position{line: 1144, col: 11, offset: 35280}, - expr: &actionExpr{ - pos: position{line: 1144, col: 12, offset: 35281}, - run: (*parser).callonDocumentHeader251, - expr: &oneOrMoreExpr{ - pos: position{line: 1144, col: 12, offset: 35281}, - expr: &charClassMatcher{ - pos: position{line: 1144, col: 12, offset: 35281}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1147, col: 5, offset: 35362}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader255, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1148, col: 5, offset: 35373}, - label: "part3", - expr: &zeroOrOneExpr{ - pos: position{line: 1148, col: 11, offset: 35379}, - expr: &actionExpr{ - pos: position{line: 1148, col: 12, offset: 35380}, - run: (*parser).callonDocumentHeader259, - expr: &oneOrMoreExpr{ - pos: position{line: 1148, col: 12, offset: 35380}, - expr: &charClassMatcher{ - pos: position{line: 1148, col: 12, offset: 35380}, - val: "[^<;\\r\\n]", - chars: []rune{'<', ';', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1151, col: 5, offset: 35459}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader263, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1129, col: 40, offset: 34822}, - label: "email", - expr: &zeroOrOneExpr{ - pos: position{line: 1129, col: 46, offset: 34828}, - expr: &actionExpr{ - pos: position{line: 1157, col: 5, offset: 35581}, - run: (*parser).callonDocumentHeader267, - expr: &seqExpr{ - pos: position{line: 1157, col: 5, offset: 35581}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1157, col: 5, offset: 35581}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &litMatcher{ - pos: position{line: 1158, col: 5, offset: 35591}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1159, col: 5, offset: 35600}, - label: "email", - expr: &actionExpr{ - pos: position{line: 1159, col: 12, offset: 35607}, - run: (*parser).callonDocumentHeader274, - expr: &oneOrMoreExpr{ - pos: position{line: 1159, col: 13, offset: 35608}, - expr: &charClassMatcher{ - pos: position{line: 1159, col: 13, offset: 35608}, - val: "[^>\\r\\n]", - chars: []rune{'>', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1162, col: 5, offset: 35668}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1129, col: 69, offset: 34851}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader279, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1129, col: 76, offset: 34858}, - expr: &litMatcher{ - pos: position{line: 1129, col: 76, offset: 34858}, - val: ";", - ignoreCase: false, - want: "\";\"", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1129, col: 81, offset: 34863}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader284, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1130, col: 5, offset: 34875}, - run: (*parser).callonDocumentHeader286, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2868, col: 24, offset: 90522}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader288, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, + &litMatcher{ + pos: position{line: 2868, col: 37, offset: 90535}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 48, offset: 90546}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 59, offset: 90557}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1119, col: 5, offset: 34432}, + }, + &labeledExpr{ + pos: position{line: 2860, col: 30, offset: 90257}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2860, col: 35, offset: 90262}, expr: &choiceExpr{ - pos: position{line: 1119, col: 6, offset: 34433}, + pos: position{line: 2860, col: 36, offset: 90263}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonDocumentHeader297, + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonInlineImage21, expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, + pos: position{line: 2873, col: 5, offset: 90621}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, + pos: position{line: 2873, col: 5, offset: 90621}, expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, - val: "//", + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", ignoreCase: false, - want: "\"//\"", + want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader303, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader307, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2874, col: 14, offset: 90655}, + expr: &choiceExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonInlineImage28, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, + ignoreCase: false, + inverted: true, + }, }, }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - run: (*parser).callonDocumentHeader314, - expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader316, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader319, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonInlineImage32, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, }, }, }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader325, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader328, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineImage43, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26327}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 830, col: 5, offset: 26613}, - expr: &actionExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - run: (*parser).callonDocumentHeader337, - expr: &seqExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 830, col: 6, offset: 26614}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader341, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonInlineImage46, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader344, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineImage53, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, + inverted: false, }, }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader350, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader353, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonInlineImage55, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonInlineImage63, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 831, col: 5, offset: 26644}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentHeader363, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonInlineImage66, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, }, }, }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader369, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonInlineImage69, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader373, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonInlineImage72, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - }, - }, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26361}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader382, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader385, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader391, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader394, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineImage79, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1120, col: 5, offset: 34507}, - label: "revision", - expr: &zeroOrOneExpr{ - pos: position{line: 1120, col: 14, offset: 34516}, - expr: &actionExpr{ - pos: position{line: 1168, col: 21, offset: 35857}, - run: (*parser).callonDocumentHeader405, - expr: &seqExpr{ - pos: position{line: 1168, col: 21, offset: 35857}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1168, col: 21, offset: 35857}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader408, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1168, col: 28, offset: 35864}, - expr: &litMatcher{ - pos: position{line: 1168, col: 29, offset: 35865}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1168, col: 33, offset: 35869}, - label: "revision", - expr: &choiceExpr{ - pos: position{line: 1169, col: 9, offset: 35888}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1169, col: 10, offset: 35889}, - run: (*parser).callonDocumentHeader414, - expr: &seqExpr{ - pos: position{line: 1169, col: 10, offset: 35889}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1169, col: 10, offset: 35889}, - label: "revnumber", - expr: &choiceExpr{ - pos: position{line: 1178, col: 27, offset: 36406}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1178, col: 27, offset: 36406}, - run: (*parser).callonDocumentHeader418, - expr: &seqExpr{ - pos: position{line: 1178, col: 27, offset: 36406}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1178, col: 27, offset: 36406}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - &charClassMatcher{ - pos: position{line: 1178, col: 32, offset: 36411}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 1178, col: 38, offset: 36417}, - expr: &charClassMatcher{ - pos: position{line: 1178, col: 38, offset: 36417}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonInlineImage81, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonInlineImage83, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonInlineImage86, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonInlineImage90, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 1180, col: 5, offset: 36465}, - run: (*parser).callonDocumentHeader424, - expr: &seqExpr{ - pos: position{line: 1180, col: 5, offset: 36465}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 1180, col: 5, offset: 36465}, - expr: &litMatcher{ - pos: position{line: 1180, col: 5, offset: 36465}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - }, - &charClassMatcher{ - pos: position{line: 1180, col: 11, offset: 36471}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 1180, col: 17, offset: 36477}, - expr: &charClassMatcher{ - pos: position{line: 1180, col: 17, offset: 36477}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonInlineImage96, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonInlineImage100, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1180, col: 28, offset: 36488}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader432, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonInlineImage106, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", ignoreCase: false, - inverted: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonInlineImage110, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonInlineImage117, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonInlineImage122, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonInlineImage124, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, - &andExpr{ - pos: position{line: 1180, col: 35, offset: 36495}, - expr: &litMatcher{ - pos: position{line: 1180, col: 36, offset: 36496}, - val: ",", - ignoreCase: false, - want: "\",\"", + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonInlineImage128, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonInlineImage132, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonInlineImage139, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonInlineImage144, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonInlineImage146, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -23623,122 +21245,15 @@ var g = &grammar{ }, }, }, - &zeroOrOneExpr{ - pos: position{line: 1169, col: 45, offset: 35924}, - expr: &litMatcher{ - pos: position{line: 1169, col: 45, offset: 35924}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - &labeledExpr{ - pos: position{line: 1169, col: 50, offset: 35929}, - label: "revdate", - expr: &zeroOrOneExpr{ - pos: position{line: 1169, col: 58, offset: 35937}, - expr: &actionExpr{ - pos: position{line: 1184, col: 25, offset: 36560}, - run: (*parser).callonDocumentHeader440, - expr: &oneOrMoreExpr{ - pos: position{line: 1184, col: 25, offset: 36560}, - expr: &charClassMatcher{ - pos: position{line: 1184, col: 25, offset: 36560}, - val: "[^:\\r\\n]", - chars: []rune{':', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1169, col: 82, offset: 35961}, - expr: &litMatcher{ - pos: position{line: 1169, col: 82, offset: 35961}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1169, col: 87, offset: 35966}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1169, col: 97, offset: 35976}, - expr: &actionExpr{ - pos: position{line: 1188, col: 27, offset: 36632}, - run: (*parser).callonDocumentHeader447, - expr: &oneOrMoreExpr{ - pos: position{line: 1188, col: 27, offset: 36632}, - expr: &charClassMatcher{ - pos: position{line: 1188, col: 27, offset: 36632}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, }, - }, - }, - &actionExpr{ - pos: position{line: 1171, col: 15, offset: 36094}, - run: (*parser).callonDocumentHeader450, - expr: &seqExpr{ - pos: position{line: 1171, col: 15, offset: 36094}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1171, col: 15, offset: 36094}, - label: "revdate", - expr: &actionExpr{ - pos: position{line: 1184, col: 25, offset: 36560}, - run: (*parser).callonDocumentHeader453, - expr: &oneOrMoreExpr{ - pos: position{line: 1184, col: 25, offset: 36560}, - expr: &charClassMatcher{ - pos: position{line: 1184, col: 25, offset: 36560}, - val: "[^:\\r\\n]", - chars: []rune{':', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1171, col: 46, offset: 36125}, - expr: &litMatcher{ - pos: position{line: 1171, col: 46, offset: 36125}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1171, col: 51, offset: 36130}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1171, col: 61, offset: 36140}, - expr: &actionExpr{ - pos: position{line: 1188, col: 27, offset: 36632}, - run: (*parser).callonDocumentHeader460, - expr: &oneOrMoreExpr{ - pos: position{line: 1188, col: 27, offset: 36632}, - expr: &charClassMatcher{ - pos: position{line: 1188, col: 27, offset: 36632}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonInlineImage150, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", + ignoreCase: false, + want: "\"{\"", }, }, }, @@ -23746,42 +21261,43 @@ var g = &grammar{ }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader464, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + }, + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonInlineImage152, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonInlineImage156, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", }, }, }, @@ -23795,209 +21311,628 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1107, col: 5, offset: 34053}, - label: "extraElements", - expr: &zeroOrMoreExpr{ - pos: position{line: 1107, col: 19, offset: 34067}, - expr: &choiceExpr{ - pos: position{line: 1107, col: 20, offset: 34068}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1107, col: 20, offset: 34068}, - name: "AttributeDeclaration", + pos: position{line: 1317, col: 46, offset: 41268}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1317, col: 58, offset: 41280}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "InlineIcon", + pos: position{line: 1324, col: 1, offset: 41676}, + expr: &actionExpr{ + pos: position{line: 1324, col: 15, offset: 41690}, + run: (*parser).callonInlineIcon1, + expr: &seqExpr{ + pos: position{line: 1324, col: 15, offset: 41690}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1324, col: 15, offset: 41690}, + val: "icon:", + ignoreCase: false, + want: "\"icon:\"", + }, + &labeledExpr{ + pos: position{line: 1324, col: 23, offset: 41698}, + label: "icon", + expr: &actionExpr{ + pos: position{line: 1324, col: 29, offset: 41704}, + run: (*parser).callonInlineIcon5, + expr: &oneOrMoreExpr{ + pos: position{line: 1324, col: 29, offset: 41704}, + expr: &charClassMatcher{ + pos: position{line: 1324, col: 29, offset: 41704}, + val: "[_-\\pL\\pN]", + chars: []rune{'_', '-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1324, col: 73, offset: 41748}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1324, col: 85, offset: 41760}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "InlineFootnote", + pos: position{line: 1331, col: 1, offset: 42126}, + expr: &actionExpr{ + pos: position{line: 1331, col: 19, offset: 42144}, + run: (*parser).callonInlineFootnote1, + expr: &seqExpr{ + pos: position{line: 1331, col: 19, offset: 42144}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1331, col: 19, offset: 42144}, + val: "footnote:", + ignoreCase: false, + want: "\"footnote:\"", + }, + &labeledExpr{ + pos: position{line: 1331, col: 31, offset: 42156}, + label: "ref", + expr: &zeroOrOneExpr{ + pos: position{line: 1331, col: 35, offset: 42160}, + expr: &actionExpr{ + pos: position{line: 2750, col: 14, offset: 87447}, + run: (*parser).callonInlineFootnote6, + expr: &oneOrMoreExpr{ + pos: position{line: 2750, col: 14, offset: 87447}, + expr: &charClassMatcher{ + pos: position{line: 2750, col: 14, offset: 87447}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 360, col: 19, offset: 10907}, - run: (*parser).callonDocumentHeader475, - expr: &seqExpr{ - pos: position{line: 360, col: 19, offset: 10907}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 360, col: 19, offset: 10907}, - val: ":!", + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1331, col: 50, offset: 42175}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + &labeledExpr{ + pos: position{line: 1331, col: 54, offset: 42179}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1331, col: 64, offset: 42189}, + name: "FootnoteElements", + }, + }, + &litMatcher{ + pos: position{line: 1331, col: 82, offset: 42207}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + }, + }, + }, + { + name: "FootnoteElements", + pos: position{line: 1337, col: 1, offset: 42364}, + expr: &actionExpr{ + pos: position{line: 1337, col: 21, offset: 42384}, + run: (*parser).callonFootnoteElements1, + expr: &labeledExpr{ + pos: position{line: 1337, col: 21, offset: 42384}, + label: "elements", + expr: &zeroOrMoreExpr{ + pos: position{line: 1337, col: 30, offset: 42393}, + expr: &ruleRefExpr{ + pos: position{line: 1337, col: 31, offset: 42394}, + name: "FootnoteElement", + }, + }, + }, + }, + }, + { + name: "FootnoteElement", + pos: position{line: 1341, col: 1, offset: 42486}, + expr: &actionExpr{ + pos: position{line: 1342, col: 5, offset: 42510}, + run: (*parser).callonFootnoteElement1, + expr: &seqExpr{ + pos: position{line: 1342, col: 5, offset: 42510}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1342, col: 5, offset: 42510}, + expr: &litMatcher{ + pos: position{line: 1342, col: 6, offset: 42511}, + val: "]", + ignoreCase: false, + want: "\"]\"", + }, + }, + &labeledExpr{ + pos: position{line: 1343, col: 5, offset: 42520}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1344, col: 9, offset: 42538}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + run: (*parser).callonFootnoteElement7, + expr: &seqExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + expr: &charClassMatcher{ + pos: position{line: 2755, col: 5, offset: 87520}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\":!\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 360, col: 24, offset: 10912}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDocumentHeader479, + }, + &choiceExpr{ + pos: position{line: 2771, col: 9, offset: 87859}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFootnoteElement12, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonFootnoteElement14, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 2801, col: 9, offset: 88555}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", ignoreCase: false, - inverted: false, + want: "\".\"", }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, }, }, }, }, }, - }, - &litMatcher{ - pos: position{line: 360, col: 45, offset: 10933}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 360, col: 49, offset: 10937}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader486, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &andCodeExpr{ + pos: position{line: 2773, col: 11, offset: 87889}, + run: (*parser).callonFootnoteElement20, }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader489, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &andExpr{ + pos: position{line: 2776, col: 11, offset: 87967}, + expr: &seqExpr{ + pos: position{line: 2777, col: 13, offset: 87982}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2777, col: 13, offset: 87982}, + expr: &seqExpr{ + pos: position{line: 2777, col: 15, offset: 87984}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2777, col: 15, offset: 87984}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + ¬Expr{ + pos: position{line: 2777, col: 19, offset: 87988}, + expr: &choiceExpr{ + pos: position{line: 2777, col: 21, offset: 87990}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFootnoteElement28, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonFootnoteElement30, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + }, + ¬Expr{ + pos: position{line: 2778, col: 13, offset: 88016}, + expr: &litMatcher{ + pos: position{line: 2778, col: 14, offset: 88017}, + val: "@", ignoreCase: false, - want: "\"\\r\"", + want: "\"@\"", }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 362, col: 9, offset: 11028}, - run: (*parser).callonDocumentHeader496, - expr: &seqExpr{ - pos: position{line: 362, col: 9, offset: 11028}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 362, col: 9, offset: 11028}, - val: ":", + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonFootnoteElement39, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonFootnoteElement42, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + run: (*parser).callonFootnoteElement48, + expr: &seqExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2484, col: 5, offset: 79986}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2484, col: 10, offset: 79991}, + expr: &charClassMatcher{ + pos: position{line: 2484, col: 11, offset: 79992}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\":\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 362, col: 13, offset: 11032}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDocumentHeader500, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonFootnoteElement53, + expr: &seqExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonFootnoteElement55, + }, + &andCodeExpr{ + pos: position{line: 2493, col: 5, offset: 80250}, + run: (*parser).callonFootnoteElement56, + }, + &litMatcher{ + pos: position{line: 2497, col: 5, offset: 80375}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2497, col: 9, offset: 80379}, + expr: &charClassMatcher{ + pos: position{line: 2497, col: 10, offset: 80380}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 1348, col: 11, offset: 42619}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 1349, col: 11, offset: 42635}, + name: "Replacement", + }, + &ruleRefExpr{ + pos: position{line: 1350, col: 11, offset: 42657}, + name: "InlineMacro", + }, + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonFootnoteElement63, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFootnoteElement70, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonFootnoteElement72, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 362, col: 34, offset: 11053}, - val: "!:", - ignoreCase: false, - want: "\"!:\"", + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonFootnoteElement80, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, }, - &zeroOrMoreExpr{ - pos: position{line: 362, col: 39, offset: 11058}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader507, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonFootnoteElement83, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonFootnoteElement86, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonFootnoteElement89, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1206, col: 5, offset: 37415}, + run: (*parser).callonFootnoteElement91, + expr: &seqExpr{ + pos: position{line: 1206, col: 5, offset: 37415}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1206, col: 5, offset: 37415}, + run: (*parser).callonFootnoteElement93, + }, + &litMatcher{ + pos: position{line: 1209, col: 5, offset: 37486}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &andCodeExpr{ + pos: position{line: 1210, col: 5, offset: 37494}, + run: (*parser).callonFootnoteElement95, + }, + &zeroOrMoreExpr{ + pos: position{line: 1214, col: 5, offset: 37581}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFootnoteElement97, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1214, col: 12, offset: 37588}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader510, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonFootnoteElement101, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -24006,9 +21941,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -24016,279 +21951,219 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonDocumentHeader517, - expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, - expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - }, - &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader523, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonFootnoteElement108, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonFootnoteElement110, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader527, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonFootnoteElement113, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"\\n\"", + want: "\"\\\\{\"", }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFootnoteElement117, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", ignoreCase: false, - want: "\"\\r\"", + want: "\"}\"", }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - run: (*parser).callonDocumentHeader534, - expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader536, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader539, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader545, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonFootnoteElement123, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", ignoreCase: false, - inverted: false, + want: "\"{\"", }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader548, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFootnoteElement127, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26327}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 830, col: 5, offset: 26613}, - expr: &actionExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - run: (*parser).callonDocumentHeader557, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonFootnoteElement133, expr: &seqExpr{ - pos: position{line: 830, col: 6, offset: 26614}, + pos: position{line: 658, col: 25, offset: 20788}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 830, col: 6, offset: 26614}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader561, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader564, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader570, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFootnoteElement137, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonFootnoteElement144, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader573, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonFootnoteElement149, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonFootnoteElement151, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, }, }, }, @@ -24296,196 +22171,124 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonFootnoteElement155, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, &labeledExpr{ - pos: position{line: 831, col: 5, offset: 26644}, - label: "line", + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonDocumentHeader583, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFootnoteElement159, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonDocumentHeader589, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader593, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - }, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26361}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonDocumentHeader602, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonDocumentHeader605, + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonFootnoteElement166, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, + want: "\":\"", }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentHeader611, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentHeader614, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonFootnoteElement171, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonFootnoteElement173, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -24495,6 +22298,72 @@ var g = &grammar{ }, }, }, + &actionExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonFootnoteElement177, + expr: &seqExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonFootnoteElement179, + }, + &labeledExpr{ + pos: position{line: 2456, col: 5, offset: 78891}, + label: "element", + expr: &actionExpr{ + pos: position{line: 2457, col: 9, offset: 78909}, + run: (*parser).callonFootnoteElement181, + expr: &charClassMatcher{ + pos: position{line: 2457, col: 10, offset: 78910}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonFootnoteElement183, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 12, offset: 89767}, + run: (*parser).callonFootnoteElement188, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 12, offset: 89767}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, }, @@ -24503,192 +22372,94 @@ var g = &grammar{ }, }, { - name: "DocumentTitle", - pos: position{line: 1111, col: 1, offset: 34265}, - expr: &actionExpr{ - pos: position{line: 1112, col: 5, offset: 34287}, - run: (*parser).callonDocumentTitle1, - expr: &seqExpr{ - pos: position{line: 1112, col: 5, offset: 34287}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1112, col: 5, offset: 34287}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonDocumentTitle4, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1112, col: 16, offset: 34298}, - label: "title", - expr: &ruleRefExpr{ - pos: position{line: 1112, col: 23, offset: 34305}, - name: "SectionTitle", - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDocumentTitle10, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + name: "PassthroughMacro", + pos: position{line: 1390, col: 1, offset: 44553}, + expr: &choiceExpr{ + pos: position{line: 1390, col: 21, offset: 44573}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1390, col: 21, offset: 44573}, + run: (*parser).callonPassthroughMacro2, + expr: &seqExpr{ + pos: position{line: 1390, col: 21, offset: 44573}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1390, col: 21, offset: 44573}, + val: "pass:[", + ignoreCase: false, + want: "\"pass:[\"", + }, + &labeledExpr{ + pos: position{line: 1390, col: 30, offset: 44582}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1390, col: 38, offset: 44590}, + expr: &actionExpr{ + pos: position{line: 1396, col: 30, offset: 44916}, + run: (*parser).callonPassthroughMacro7, + expr: &charClassMatcher{ + pos: position{line: 1396, col: 30, offset: 44916}, + val: "[^]]", + chars: []rune{']'}, ignoreCase: false, - want: "\"\\r\"", + inverted: true, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "DocumentAuthorFullName", - pos: position{line: 1139, col: 1, offset: 35145}, - expr: &actionExpr{ - pos: position{line: 1140, col: 5, offset: 35176}, - run: (*parser).callonDocumentAuthorFullName1, - expr: &seqExpr{ - pos: position{line: 1140, col: 5, offset: 35176}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1140, col: 5, offset: 35176}, - label: "part1", - expr: &actionExpr{ - pos: position{line: 1140, col: 12, offset: 35183}, - run: (*parser).callonDocumentAuthorFullName4, - expr: &oneOrMoreExpr{ - pos: position{line: 1140, col: 12, offset: 35183}, - expr: &charClassMatcher{ - pos: position{line: 1140, col: 12, offset: 35183}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1143, col: 5, offset: 35263}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentAuthorFullName8, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &litMatcher{ + pos: position{line: 1390, col: 67, offset: 44619}, + val: "]", ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1144, col: 5, offset: 35274}, - label: "part2", - expr: &zeroOrOneExpr{ - pos: position{line: 1144, col: 11, offset: 35280}, - expr: &actionExpr{ - pos: position{line: 1144, col: 12, offset: 35281}, - run: (*parser).callonDocumentAuthorFullName12, - expr: &oneOrMoreExpr{ - pos: position{line: 1144, col: 12, offset: 35281}, - expr: &charClassMatcher{ - pos: position{line: 1144, col: 12, offset: 35281}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, + want: "\"]\"", }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1147, col: 5, offset: 35362}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentAuthorFullName16, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + &actionExpr{ + pos: position{line: 1392, col: 9, offset: 44723}, + run: (*parser).callonPassthroughMacro10, + expr: &seqExpr{ + pos: position{line: 1392, col: 9, offset: 44723}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1392, col: 9, offset: 44723}, + val: "pass:q[", ignoreCase: false, - inverted: false, + want: "\"pass:q[\"", }, - }, - }, - &labeledExpr{ - pos: position{line: 1148, col: 5, offset: 35373}, - label: "part3", - expr: &zeroOrOneExpr{ - pos: position{line: 1148, col: 11, offset: 35379}, - expr: &actionExpr{ - pos: position{line: 1148, col: 12, offset: 35380}, - run: (*parser).callonDocumentAuthorFullName20, - expr: &oneOrMoreExpr{ - pos: position{line: 1148, col: 12, offset: 35380}, - expr: &charClassMatcher{ - pos: position{line: 1148, col: 12, offset: 35380}, - val: "[^<;\\r\\n]", - chars: []rune{'<', ';', '\r', '\n'}, - ignoreCase: false, - inverted: true, + &labeledExpr{ + pos: position{line: 1392, col: 19, offset: 44733}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1392, col: 27, offset: 44741}, + expr: &choiceExpr{ + pos: position{line: 1392, col: 28, offset: 44742}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 1392, col: 28, offset: 44742}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 1396, col: 30, offset: 44916}, + run: (*parser).callonPassthroughMacro17, + expr: &charClassMatcher{ + pos: position{line: 1396, col: 30, offset: 44916}, + val: "[^]]", + chars: []rune{']'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, }, }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1151, col: 5, offset: 35459}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDocumentAuthorFullName24, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &litMatcher{ + pos: position{line: 1392, col: 69, offset: 44783}, + val: "]", ignoreCase: false, - inverted: false, + want: "\"]\"", }, }, }, @@ -24697,696 +22468,724 @@ var g = &grammar{ }, }, { - name: "InlineElement", - pos: position{line: 1260, col: 1, offset: 38867}, - expr: &actionExpr{ - pos: position{line: 1261, col: 5, offset: 38890}, - run: (*parser).callonInlineElement1, - expr: &labeledExpr{ - pos: position{line: 1261, col: 5, offset: 38890}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1262, col: 9, offset: 38908}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonInlineElement4, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + name: "Link", + pos: position{line: 1403, col: 1, offset: 45172}, + expr: &choiceExpr{ + pos: position{line: 1403, col: 9, offset: 45180}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1406, col: 5, offset: 45249}, + run: (*parser).callonLink2, + expr: &seqExpr{ + pos: position{line: 1406, col: 5, offset: 45249}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1406, col: 5, offset: 45249}, + val: "<", + ignoreCase: false, + want: "\"<\"", }, - }, - &actionExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - run: (*parser).callonInlineElement7, - expr: &seqExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2840, col: 6, offset: 90160}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2841, col: 5, offset: 90205}, - expr: &charClassMatcher{ - pos: position{line: 2841, col: 6, offset: 90206}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2842, col: 5, offset: 90269}, - expr: &choiceExpr{ - pos: position{line: 2842, col: 7, offset: 90271}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineElement14, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", + &labeledExpr{ + pos: position{line: 1407, col: 5, offset: 45258}, + label: "url", + expr: &actionExpr{ + pos: position{line: 2864, col: 23, offset: 90389}, + run: (*parser).callonLink6, + expr: &seqExpr{ + pos: position{line: 2864, col: 23, offset: 90389}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2864, col: 23, offset: 90389}, + expr: &litMatcher{ + pos: position{line: 2864, col: 24, offset: 90390}, + val: "[", ignoreCase: false, - want: "\"�\"", + want: "\"[\"", }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlineElement17, + }, + &labeledExpr{ + pos: position{line: 2864, col: 28, offset: 90394}, + label: "scheme", + expr: &actionExpr{ + pos: position{line: 2868, col: 11, offset: 90509}, + run: (*parser).callonLink11, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2868, col: 12, offset: 90510}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", + pos: position{line: 2868, col: 12, offset: 90510}, + val: "http://", ignoreCase: false, - want: "\"\\r\\n\"", + want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + pos: position{line: 2868, col: 24, offset: 90522}, + val: "https://", ignoreCase: false, - want: "\"\\r\"", + want: "\"https://\"", }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1264, col: 11, offset: 38948}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 1205, col: 5, offset: 37388}, - run: (*parser).callonInlineElement25, - expr: &seqExpr{ - pos: position{line: 1205, col: 5, offset: 37388}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1205, col: 5, offset: 37388}, - run: (*parser).callonInlineElement27, - }, - &litMatcher{ - pos: position{line: 1208, col: 5, offset: 37464}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &andCodeExpr{ - pos: position{line: 1209, col: 5, offset: 37472}, - run: (*parser).callonInlineElement29, - }, - &zeroOrMoreExpr{ - pos: position{line: 1213, col: 5, offset: 37559}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineElement31, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1213, col: 12, offset: 37566}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlineElement35, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", + pos: position{line: 2868, col: 37, offset: 90535}, + val: "ftp://", ignoreCase: false, - want: "\"\\n\"", + want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", + pos: position{line: 2868, col: 48, offset: 90546}, + val: "irc://", ignoreCase: false, - want: "\"\\r\\n\"", + want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + pos: position{line: 2868, col: 59, offset: 90557}, + val: "mailto:", ignoreCase: false, - want: "\"\\r\"", + want: "\"mailto:\"", }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonInlineElement42, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonInlineElement46, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonInlineElement48, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonInlineElement50, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonInlineElement52, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonInlineElement54, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonInlineElement56, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonInlineElement58, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonInlineElement60, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonInlineElement62, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonInlineElement64, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonInlineElement67, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineElement69, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &labeledExpr{ + pos: position{line: 2864, col: 44, offset: 90410}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2864, col: 49, offset: 90415}, + expr: &actionExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonLink20, + expr: &seqExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2873, col: 5, offset: 90621}, + expr: &litMatcher{ + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", ignoreCase: false, - inverted: false, + want: "\"[\"", }, }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlineElement73, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", + &labeledExpr{ + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2874, col: 14, offset: 90655}, + expr: &choiceExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonLink27, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, ignoreCase: false, - want: "\"\\n\"", + inverted: true, }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + }, + }, + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonLink31, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonLink42, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonInlineElement80, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonInlineElement83, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlineElement87, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonInlineElement94, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonInlineElement96, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonInlineElement98, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonInlineElement100, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonInlineElement102, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonInlineElement104, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonInlineElement106, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonInlineElement108, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonInlineElement110, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonInlineElement112, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonInlineElement114, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonInlineElement116, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonInlineElement119, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineElement121, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlineElement125, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonLink45, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonLink52, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonLink54, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonLink62, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonLink65, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonLink68, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonLink71, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonLink78, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonLink80, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonLink82, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonLink85, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonLink89, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonLink95, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonLink99, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonLink105, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonLink109, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonLink116, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonLink121, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonLink123, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonLink127, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonLink131, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonLink138, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonLink143, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonLink145, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonLink149, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonInlineElement132, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonInlineElement135, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlineElement139, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, }, }, }, @@ -25394,1721 +23193,710 @@ var g = &grammar{ }, }, }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonInlineElement146, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonInlineElement148, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", + &litMatcher{ + pos: position{line: 1412, col: 5, offset: 45477}, + val: ">", ignoreCase: false, - want: "\"<-\"", + want: "\">\"", }, }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonInlineElement150, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonInlineElement152, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonInlineElement154, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 1403, col: 19, offset: 45190}, + name: "RelativeLink", + }, + &ruleRefExpr{ + pos: position{line: 1403, col: 34, offset: 45205}, + name: "ExternalLink", + }, + &actionExpr{ + pos: position{line: 1441, col: 17, offset: 46470}, + run: (*parser).callonLink154, + expr: &seqExpr{ + pos: position{line: 1441, col: 17, offset: 46470}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1441, col: 17, offset: 46470}, + label: "local", + expr: &actionExpr{ + pos: position{line: 1446, col: 5, offset: 46635}, + run: (*parser).callonLink157, + expr: &seqExpr{ + pos: position{line: 1446, col: 5, offset: 46635}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1446, col: 5, offset: 46635}, + label: "local", + expr: &actionExpr{ + pos: position{line: 1446, col: 12, offset: 46642}, + run: (*parser).callonLink160, + expr: &oneOrMoreExpr{ + pos: position{line: 1446, col: 12, offset: 46642}, + expr: &charClassMatcher{ + pos: position{line: 1446, col: 12, offset: 46642}, + val: "[!#$%&\\*=?^_`{|}~.+-/\\pL\\pN]", + chars: []rune{'!', '#', '$', '%', '&', '\'', '*', '=', '?', '^', '_', '`', '{', '|', '}', '~', '.'}, + ranges: []rune{'+', '/'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1449, col: 5, offset: 46726}, + run: (*parser).callonLink163, + }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonInlineElement159, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonInlineElement161, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &litMatcher{ + pos: position{line: 1441, col: 43, offset: 46496}, + val: "@", + ignoreCase: false, + want: "\"@\"", }, - }, - &ruleRefExpr{ - pos: position{line: 1267, col: 11, offset: 39035}, - name: "Quote", - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonInlineElement166, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonInlineElement168, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonInlineElement171, + &labeledExpr{ + pos: position{line: 1441, col: 47, offset: 46500}, + label: "domain", + expr: &actionExpr{ + pos: position{line: 1458, col: 23, offset: 47020}, + run: (*parser).callonLink166, + expr: &seqExpr{ + pos: position{line: 1458, col: 23, offset: 47020}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1458, col: 23, offset: 47020}, + label: "domain", + expr: &actionExpr{ + pos: position{line: 1458, col: 31, offset: 47028}, + run: (*parser).callonLink169, expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 1458, col: 31, offset: 47028}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineElement175, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &oneOrMoreExpr{ + pos: position{line: 1458, col: 31, offset: 47028}, + expr: &charClassMatcher{ + pos: position{line: 1458, col: 31, offset: 47028}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonInlineElement182, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonInlineElement187, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonInlineElement189, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 1458, col: 41, offset: 47038}, + expr: &seqExpr{ + pos: position{line: 1458, col: 42, offset: 47039}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1458, col: 42, offset: 47039}, + val: ".", + ignoreCase: false, + want: "\".\"", }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonInlineElement193, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineElement197, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, + &oneOrMoreExpr{ + pos: position{line: 1458, col: 46, offset: 47043}, + expr: &charClassMatcher{ + pos: position{line: 1458, col: 46, offset: 47043}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonInlineElement204, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonInlineElement209, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonInlineElement211, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonInlineElement215, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineElement219, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + }, + &andCodeExpr{ + pos: position{line: 1461, col: 5, offset: 47104}, + run: (*parser).callonLink178, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "RelativeLink", + pos: position{line: 1418, col: 1, offset: 45625}, + expr: &choiceExpr{ + pos: position{line: 1420, col: 5, offset: 45661}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1420, col: 5, offset: 45661}, + run: (*parser).callonRelativeLink2, + expr: &seqExpr{ + pos: position{line: 1420, col: 5, offset: 45661}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1420, col: 5, offset: 45661}, + val: "\\link:", + ignoreCase: false, + want: "\"\\\\link:\"", + }, + &labeledExpr{ + pos: position{line: 1420, col: 17, offset: 45673}, + label: "url", + expr: &actionExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + run: (*parser).callonRelativeLink6, + expr: &seqExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 2860, col: 20, offset: 90247}, + expr: &actionExpr{ + pos: position{line: 2868, col: 11, offset: 90509}, + run: (*parser).callonRelativeLink10, + expr: &choiceExpr{ + pos: position{line: 2868, col: 12, offset: 90510}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2868, col: 12, offset: 90510}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonInlineElement225, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineElement229, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2868, col: 24, offset: 90522}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 37, offset: 90535}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 48, offset: 90546}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 59, offset: 90557}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", }, }, }, }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonInlineElement235, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonInlineElement237, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonInlineElement240, + &labeledExpr{ + pos: position{line: 2860, col: 30, offset: 90257}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2860, col: 35, offset: 90262}, expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, + pos: position{line: 2860, col: 36, offset: 90263}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonInlineElement242, + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonRelativeLink20, expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, + pos: position{line: 2873, col: 5, offset: 90621}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonInlineElement246, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineElement250, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + ¬Expr{ + pos: position{line: 2873, col: 5, offset: 90621}, + expr: &litMatcher{ + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", + ignoreCase: false, + want: "\"[\"", }, }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, + pos: position{line: 2874, col: 14, offset: 90655}, expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, + pos: position{line: 2875, col: 9, offset: 90665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonInlineElement256, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonRelativeLink27, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, + ignoreCase: false, + inverted: true, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonInlineElement261, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineElement265, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonRelativeLink31, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, + want: "\"..\"", }, }, }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonInlineElement271, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineElement275, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonRelativeLink42, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonInlineElement281, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonInlineElement284, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonInlineElement288, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonInlineElement292, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonInlineElement294, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlineButton", - pos: position{line: 1294, col: 1, offset: 40053}, - expr: &actionExpr{ - pos: position{line: 1295, col: 5, offset: 40074}, - run: (*parser).callonInlineButton1, - expr: &seqExpr{ - pos: position{line: 1295, col: 5, offset: 40074}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1295, col: 5, offset: 40074}, - run: (*parser).callonInlineButton3, - }, - &litMatcher{ - pos: position{line: 1298, col: 5, offset: 40133}, - val: "btn:", - ignoreCase: false, - want: "\"btn:\"", - }, - &labeledExpr{ - pos: position{line: 1298, col: 12, offset: 40140}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1298, col: 24, offset: 40152}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "InlineMenu", - pos: position{line: 1305, col: 1, offset: 40440}, - expr: &actionExpr{ - pos: position{line: 1306, col: 5, offset: 40459}, - run: (*parser).callonInlineMenu1, - expr: &seqExpr{ - pos: position{line: 1306, col: 5, offset: 40459}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1306, col: 5, offset: 40459}, - run: (*parser).callonInlineMenu3, - }, - &litMatcher{ - pos: position{line: 1309, col: 5, offset: 40518}, - val: "menu:", - ignoreCase: false, - want: "\"menu:\"", - }, - &labeledExpr{ - pos: position{line: 1309, col: 13, offset: 40526}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonInlineMenu6, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1309, col: 21, offset: 40534}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1309, col: 33, offset: 40546}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "IndexTerm", - pos: position{line: 1316, col: 1, offset: 40845}, - expr: &actionExpr{ - pos: position{line: 1316, col: 14, offset: 40858}, - run: (*parser).callonIndexTerm1, - expr: &seqExpr{ - pos: position{line: 1316, col: 14, offset: 40858}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1316, col: 14, offset: 40858}, - val: "((", - ignoreCase: false, - want: "\"((\"", - }, - &labeledExpr{ - pos: position{line: 1316, col: 19, offset: 40863}, - label: "term", - expr: &ruleRefExpr{ - pos: position{line: 1316, col: 25, offset: 40869}, - name: "IndexTermContent", - }, - }, - &litMatcher{ - pos: position{line: 1316, col: 43, offset: 40887}, - val: "))", - ignoreCase: false, - want: "\"))\"", - }, - }, - }, - }, - }, - { - name: "IndexTermContent", - pos: position{line: 1320, col: 1, offset: 40956}, - expr: &actionExpr{ - pos: position{line: 1320, col: 21, offset: 40976}, - run: (*parser).callonIndexTermContent1, - expr: &labeledExpr{ - pos: position{line: 1320, col: 21, offset: 40976}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 1320, col: 30, offset: 40985}, - expr: &choiceExpr{ - pos: position{line: 1320, col: 31, offset: 40986}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - run: (*parser).callonIndexTermContent5, - expr: &seqExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2840, col: 6, offset: 90160}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2841, col: 5, offset: 90205}, - expr: &charClassMatcher{ - pos: position{line: 2841, col: 6, offset: 90206}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2842, col: 5, offset: 90269}, - expr: &choiceExpr{ - pos: position{line: 2842, col: 7, offset: 90271}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonIndexTermContent12, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonIndexTermContent15, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1320, col: 44, offset: 40999}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonIndexTermContent23, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonIndexTermContent25, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonIndexTermContent27, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonIndexTermContent30, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonIndexTermContent32, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonIndexTermContent36, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonIndexTermContent40, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonIndexTermContent46, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonRelativeLink45, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, ignoreCase: false, - inverted: true, + inverted: false, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonIndexTermContent51, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonIndexTermContent55, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonRelativeLink52, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonRelativeLink54, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonRelativeLink62, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonRelativeLink65, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonRelativeLink68, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonRelativeLink71, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonIndexTermContent61, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonIndexTermContent65, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonRelativeLink78, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonIndexTermContent71, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonIndexTermContent74, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonIndexTermContent78, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonIndexTermContent82, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonIndexTermContent84, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonIndexTermContent88, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1320, col: 105, offset: 41060}, - run: (*parser).callonIndexTermContent92, - expr: &seqExpr{ - pos: position{line: 1320, col: 106, offset: 41061}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1320, col: 106, offset: 41061}, - expr: &litMatcher{ - pos: position{line: 1320, col: 107, offset: 41062}, - val: "))", - ignoreCase: false, - want: "\"))\"", - }, - }, - &anyMatcher{ - line: 1320, col: 112, offset: 41067, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ImageBlock", - pos: position{line: 1340, col: 1, offset: 41776}, - expr: &actionExpr{ - pos: position{line: 1341, col: 5, offset: 41795}, - run: (*parser).callonImageBlock1, - expr: &seqExpr{ - pos: position{line: 1341, col: 5, offset: 41795}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1341, col: 5, offset: 41795}, - val: "image::", - ignoreCase: false, - want: "\"image::\"", - }, - &labeledExpr{ - pos: position{line: 1341, col: 15, offset: 41805}, - label: "path", - expr: &actionExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - run: (*parser).callonImageBlock5, - expr: &seqExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - label: "scheme", - expr: &zeroOrOneExpr{ - pos: position{line: 2869, col: 20, offset: 90882}, - expr: &actionExpr{ - pos: position{line: 2877, col: 11, offset: 91144}, - run: (*parser).callonImageBlock9, - expr: &choiceExpr{ - pos: position{line: 2877, col: 12, offset: 91145}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2877, col: 12, offset: 91145}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 24, offset: 91157}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 37, offset: 91170}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 48, offset: 91181}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 59, offset: 91192}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2869, col: 30, offset: 90892}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2869, col: 35, offset: 90897}, - expr: &choiceExpr{ - pos: position{line: 2869, col: 36, offset: 90898}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonImageBlock19, - expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, - expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonImageBlock26, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonImageBlock30, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonImageBlock37, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonRelativeLink80, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonRelativeLink82, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonImageBlock39, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonImageBlock41, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonImageBlock44, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonImageBlock48, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonRelativeLink85, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink89, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonImageBlock55, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonImageBlock60, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonImageBlock62, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonRelativeLink95, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink99, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonImageBlock66, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonImageBlock70, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonRelativeLink105, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink109, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonImageBlock77, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonImageBlock82, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonImageBlock84, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonRelativeLink116, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonRelativeLink121, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonRelativeLink123, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, @@ -27118,120 +23906,123 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonImageBlock88, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonImageBlock92, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonRelativeLink127, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink131, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonImageBlock98, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonImageBlock102, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonRelativeLink138, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonRelativeLink143, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonRelativeLink145, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, @@ -27239,61 +24030,61 @@ var g = &grammar{ }, }, }, + &actionExpr{ + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonRelativeLink149, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonImageBlock108, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonImageBlock110, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonImageBlock114, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonRelativeLink151, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonRelativeLink155, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, }, }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, }, }, }, @@ -27303,576 +24094,703 @@ var g = &grammar{ }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 1341, col: 31, offset: 41821}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1341, col: 43, offset: 41833}, - name: "InlineAttributes", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1341, col: 61, offset: 41851}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonImageBlock121, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonImageBlock124, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &labeledExpr{ + pos: position{line: 1420, col: 32, offset: 45688}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1420, col: 44, offset: 45700}, + name: "InlineAttributes", }, }, }, }, }, - }, - }, - }, - { - name: "InlineImage", - pos: position{line: 1346, col: 1, offset: 42068}, - expr: &actionExpr{ - pos: position{line: 1346, col: 16, offset: 42083}, - run: (*parser).callonInlineImage1, - expr: &seqExpr{ - pos: position{line: 1346, col: 16, offset: 42083}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1346, col: 16, offset: 42083}, - val: "image:", - ignoreCase: false, - want: "\"image:\"", - }, - ¬Expr{ - pos: position{line: 1346, col: 25, offset: 42092}, - expr: &litMatcher{ - pos: position{line: 1346, col: 26, offset: 42093}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1346, col: 30, offset: 42097}, - label: "path", - expr: &actionExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - run: (*parser).callonInlineImage7, - expr: &seqExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - label: "scheme", - expr: &zeroOrOneExpr{ - pos: position{line: 2869, col: 20, offset: 90882}, - expr: &actionExpr{ - pos: position{line: 2877, col: 11, offset: 91144}, - run: (*parser).callonInlineImage11, - expr: &choiceExpr{ - pos: position{line: 2877, col: 12, offset: 91145}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2877, col: 12, offset: 91145}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 24, offset: 91157}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 37, offset: 91170}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 48, offset: 91181}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 59, offset: 91192}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", + &actionExpr{ + pos: position{line: 1425, col: 5, offset: 45832}, + run: (*parser).callonRelativeLink161, + expr: &seqExpr{ + pos: position{line: 1425, col: 5, offset: 45832}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1425, col: 5, offset: 45832}, + val: "link:", + ignoreCase: false, + want: "\"link:\"", + }, + &labeledExpr{ + pos: position{line: 1425, col: 13, offset: 45840}, + label: "url", + expr: &actionExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + run: (*parser).callonRelativeLink165, + expr: &seqExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2860, col: 13, offset: 90240}, + label: "scheme", + expr: &zeroOrOneExpr{ + pos: position{line: 2860, col: 20, offset: 90247}, + expr: &actionExpr{ + pos: position{line: 2868, col: 11, offset: 90509}, + run: (*parser).callonRelativeLink169, + expr: &choiceExpr{ + pos: position{line: 2868, col: 12, offset: 90510}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2868, col: 12, offset: 90510}, + val: "http://", + ignoreCase: false, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 24, offset: 90522}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 37, offset: 90535}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 48, offset: 90546}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 59, offset: 90557}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", + }, + }, }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 2869, col: 30, offset: 90892}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2869, col: 35, offset: 90897}, - expr: &choiceExpr{ - pos: position{line: 2869, col: 36, offset: 90898}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonInlineImage21, - expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, - expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonInlineImage28, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2860, col: 30, offset: 90257}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2860, col: 35, offset: 90262}, + expr: &choiceExpr{ + pos: position{line: 2860, col: 36, offset: 90263}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonRelativeLink179, + expr: &seqExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2873, col: 5, offset: 90621}, + expr: &litMatcher{ + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2874, col: 14, offset: 90655}, + expr: &choiceExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonInlineImage32, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonRelativeLink186, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, + ignoreCase: false, + inverted: true, + }, }, }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonRelativeLink190, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, }, }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineImage39, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonRelativeLink201, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonInlineImage41, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonInlineImage43, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonInlineImage46, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonRelativeLink204, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", ignoreCase: false, - want: "\"{counter:\"", + want: "\":\"", }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineImage50, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonRelativeLink211, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonInlineImage57, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonInlineImage62, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonInlineImage64, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonRelativeLink213, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonRelativeLink221, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonInlineImage68, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonRelativeLink224, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, ignoreCase: false, - want: "\"{counter2:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineImage72, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonRelativeLink227, }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonInlineImage79, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonInlineImage84, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonInlineImage86, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonRelativeLink230, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonInlineImage90, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + }, + }, + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonRelativeLink237, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\\\{\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineImage94, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonRelativeLink239, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonRelativeLink241, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonRelativeLink244, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink248, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonInlineImage100, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonRelativeLink254, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink258, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonInlineImage104, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonRelativeLink264, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink268, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonRelativeLink275, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonRelativeLink280, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonRelativeLink282, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonRelativeLink286, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonRelativeLink290, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonRelativeLink297, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonRelativeLink302, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonRelativeLink304, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, }, }, }, @@ -27881,16 +24799,16 @@ var g = &grammar{ }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonInlineImage110, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", + &actionExpr{ + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonRelativeLink308, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, }, @@ -27898,44 +24816,44 @@ var g = &grammar{ }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonInlineImage112, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonInlineImage116, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonRelativeLink310, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonRelativeLink314, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, }, }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, }, }, }, @@ -27945,374 +24863,91 @@ var g = &grammar{ }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 1346, col: 46, offset: 42113}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1346, col: 58, offset: 42125}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "InlineIcon", - pos: position{line: 1353, col: 1, offset: 42521}, - expr: &actionExpr{ - pos: position{line: 1353, col: 15, offset: 42535}, - run: (*parser).callonInlineIcon1, - expr: &seqExpr{ - pos: position{line: 1353, col: 15, offset: 42535}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1353, col: 15, offset: 42535}, - val: "icon:", - ignoreCase: false, - want: "\"icon:\"", - }, - &labeledExpr{ - pos: position{line: 1353, col: 23, offset: 42543}, - label: "icon", - expr: &actionExpr{ - pos: position{line: 1353, col: 29, offset: 42549}, - run: (*parser).callonInlineIcon5, - expr: &oneOrMoreExpr{ - pos: position{line: 1353, col: 29, offset: 42549}, - expr: &charClassMatcher{ - pos: position{line: 1353, col: 29, offset: 42549}, - val: "[_-\\pL\\pN]", - chars: []rune{'_', '-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1425, col: 28, offset: 45855}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 1425, col: 40, offset: 45867}, + name: "InlineAttributes", }, }, }, }, - &labeledExpr{ - pos: position{line: 1353, col: 73, offset: 42593}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1353, col: 85, offset: 42605}, - name: "InlineAttributes", - }, - }, }, }, }, }, { - name: "InlineFootnote", - pos: position{line: 1360, col: 1, offset: 42971}, - expr: &actionExpr{ - pos: position{line: 1360, col: 19, offset: 42989}, - run: (*parser).callonInlineFootnote1, - expr: &seqExpr{ - pos: position{line: 1360, col: 19, offset: 42989}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1360, col: 19, offset: 42989}, - val: "footnote:", - ignoreCase: false, - want: "\"footnote:\"", - }, - &labeledExpr{ - pos: position{line: 1360, col: 31, offset: 43001}, - label: "ref", - expr: &zeroOrOneExpr{ - pos: position{line: 1360, col: 35, offset: 43005}, - expr: &actionExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - run: (*parser).callonInlineFootnote6, - expr: &oneOrMoreExpr{ - pos: position{line: 2835, col: 14, offset: 90086}, - expr: &charClassMatcher{ - pos: position{line: 2835, col: 14, offset: 90086}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1360, col: 50, offset: 43020}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - &labeledExpr{ - pos: position{line: 1360, col: 54, offset: 43024}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 1360, col: 64, offset: 43034}, - name: "FootnoteElements", - }, - }, - &litMatcher{ - pos: position{line: 1360, col: 82, offset: 43052}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - }, - { - name: "FootnoteElements", - pos: position{line: 1366, col: 1, offset: 43209}, - expr: &actionExpr{ - pos: position{line: 1366, col: 21, offset: 43229}, - run: (*parser).callonFootnoteElements1, - expr: &labeledExpr{ - pos: position{line: 1366, col: 21, offset: 43229}, - label: "elements", - expr: &zeroOrMoreExpr{ - pos: position{line: 1366, col: 30, offset: 43238}, - expr: &ruleRefExpr{ - pos: position{line: 1366, col: 31, offset: 43239}, - name: "FootnoteElement", - }, - }, - }, - }, - }, - { - name: "FootnoteElement", - pos: position{line: 1370, col: 1, offset: 43331}, - expr: &actionExpr{ - pos: position{line: 1371, col: 5, offset: 43355}, - run: (*parser).callonFootnoteElement1, - expr: &seqExpr{ - pos: position{line: 1371, col: 5, offset: 43355}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1371, col: 5, offset: 43355}, - expr: &litMatcher{ - pos: position{line: 1371, col: 6, offset: 43356}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - &labeledExpr{ - pos: position{line: 1372, col: 5, offset: 43365}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1373, col: 9, offset: 43383}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1373, col: 9, offset: 43383}, - name: "InlineElement", - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonFootnoteElement8, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "PassthroughMacro", - pos: position{line: 1406, col: 1, offset: 45007}, - expr: &choiceExpr{ - pos: position{line: 1406, col: 21, offset: 45027}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1406, col: 21, offset: 45027}, - run: (*parser).callonPassthroughMacro2, - expr: &seqExpr{ - pos: position{line: 1406, col: 21, offset: 45027}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1406, col: 21, offset: 45027}, - val: "pass:[", - ignoreCase: false, - want: "\"pass:[\"", - }, - &labeledExpr{ - pos: position{line: 1406, col: 30, offset: 45036}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 1406, col: 38, offset: 45044}, - expr: &actionExpr{ - pos: position{line: 1412, col: 30, offset: 45370}, - run: (*parser).callonPassthroughMacro7, - expr: &charClassMatcher{ - pos: position{line: 1412, col: 30, offset: 45370}, - val: "[^]]", - chars: []rune{']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1406, col: 67, offset: 45073}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1408, col: 9, offset: 45177}, - run: (*parser).callonPassthroughMacro10, - expr: &seqExpr{ - pos: position{line: 1408, col: 9, offset: 45177}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1408, col: 9, offset: 45177}, - val: "pass:q[", - ignoreCase: false, - want: "\"pass:q[\"", - }, - &labeledExpr{ - pos: position{line: 1408, col: 19, offset: 45187}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 1408, col: 27, offset: 45195}, - expr: &choiceExpr{ - pos: position{line: 1408, col: 28, offset: 45196}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1408, col: 28, offset: 45196}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 1412, col: 30, offset: 45370}, - run: (*parser).callonPassthroughMacro17, - expr: &charClassMatcher{ - pos: position{line: 1412, col: 30, offset: 45370}, - val: "[^]]", - chars: []rune{']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1408, col: 69, offset: 45237}, - val: "]", - ignoreCase: false, - want: "\"]\"", - }, - }, - }, - }, - }, - }, - }, - { - name: "Link", - pos: position{line: 1419, col: 1, offset: 45626}, - expr: &choiceExpr{ - pos: position{line: 1419, col: 9, offset: 45634}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1422, col: 5, offset: 45703}, - run: (*parser).callonLink2, - expr: &seqExpr{ - pos: position{line: 1422, col: 5, offset: 45703}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1422, col: 5, offset: 45703}, - val: "<", - ignoreCase: false, - want: "\"<\"", + name: "ExternalLink", + pos: position{line: 1429, col: 1, offset: 45983}, + expr: &choiceExpr{ + pos: position{line: 1432, col: 5, offset: 46145}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1432, col: 5, offset: 46145}, + run: (*parser).callonExternalLink2, + expr: &seqExpr{ + pos: position{line: 1432, col: 5, offset: 46145}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1432, col: 5, offset: 46145}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, &labeledExpr{ - pos: position{line: 1423, col: 5, offset: 45712}, + pos: position{line: 1432, col: 9, offset: 46149}, label: "url", expr: &actionExpr{ - pos: position{line: 2873, col: 23, offset: 91024}, - run: (*parser).callonLink6, + pos: position{line: 2864, col: 23, offset: 90389}, + run: (*parser).callonExternalLink6, expr: &seqExpr{ - pos: position{line: 2873, col: 23, offset: 91024}, + pos: position{line: 2864, col: 23, offset: 90389}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2873, col: 23, offset: 91024}, + pos: position{line: 2864, col: 23, offset: 90389}, expr: &litMatcher{ - pos: position{line: 2873, col: 24, offset: 91025}, + pos: position{line: 2864, col: 24, offset: 90390}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2873, col: 28, offset: 91029}, + pos: position{line: 2864, col: 28, offset: 90394}, label: "scheme", expr: &actionExpr{ - pos: position{line: 2877, col: 11, offset: 91144}, - run: (*parser).callonLink11, + pos: position{line: 2868, col: 11, offset: 90509}, + run: (*parser).callonExternalLink11, expr: &choiceExpr{ - pos: position{line: 2877, col: 12, offset: 91145}, + pos: position{line: 2868, col: 12, offset: 90510}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2877, col: 12, offset: 91145}, + pos: position{line: 2868, col: 12, offset: 90510}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 2877, col: 24, offset: 91157}, + pos: position{line: 2868, col: 24, offset: 90522}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 2877, col: 37, offset: 91170}, + pos: position{line: 2868, col: 37, offset: 90535}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 2877, col: 48, offset: 91181}, + pos: position{line: 2868, col: 48, offset: 90546}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 2877, col: 59, offset: 91192}, + pos: position{line: 2868, col: 59, offset: 90557}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -28322,81 +24957,273 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2873, col: 44, offset: 91045}, + pos: position{line: 2864, col: 44, offset: 90410}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2873, col: 49, offset: 91050}, + pos: position{line: 2864, col: 49, offset: 90415}, expr: &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonLink20, + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonExternalLink20, expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, + pos: position{line: 2873, col: 5, offset: 90621}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, + pos: position{line: 2873, col: 5, offset: 90621}, expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, + pos: position{line: 2873, col: 6, offset: 90622}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, + pos: position{line: 2874, col: 5, offset: 90646}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, + pos: position{line: 2874, col: 14, offset: 90655}, expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, + pos: position{line: 2875, col: 9, offset: 90665}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonLink27, + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonExternalLink27, expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, + pos: position{line: 2875, col: 9, offset: 90665}, expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, ignoreCase: false, inverted: true, }, }, }, &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, + pos: position{line: 2878, col: 11, offset: 90917}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonLink31, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonExternalLink31, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalLink42, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonExternalLink45, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalLink52, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExternalLink54, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonExternalLink62, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonExternalLink65, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonExternalLink68, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonExternalLink71, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, + pos: position{line: 2879, col: 23, offset: 90961}, expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, + pos: position{line: 2879, col: 25, offset: 90963}, expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, + pos: position{line: 2879, col: 27, offset: 90965}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonLink38, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalLink78, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -28408,44 +25235,44 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLink40, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonExternalLink80, expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, + pos: position{line: 636, col: 5, offset: 20111}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonLink42, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonExternalLink82, }, &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, + pos: position{line: 639, col: 5, offset: 20178}, label: "element", expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, + pos: position{line: 639, col: 14, offset: 20187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonLink45, + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonExternalLink85, expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 645, col: 5, offset: 20316}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"{counter:\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, + pos: position{line: 645, col: 13, offset: 20324}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLink49, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink89, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -28453,9 +25280,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -28467,56 +25294,53 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonExternalLink95, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLink56, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink99, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLink61, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLink63, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + inverted: false, }, }, }, @@ -28524,7 +25348,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, + pos: position{line: 652, col: 28, offset: 20607}, val: "}", ignoreCase: false, want: "\"}\"", @@ -28533,28 +25357,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonLink67, + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonExternalLink105, expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, + pos: position{line: 658, col: 25, offset: 20788}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", ignoreCase: false, - want: "\"{counter2:\"", + want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, + pos: position{line: 658, col: 37, offset: 20800}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLink71, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink109, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -28562,9 +25386,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -28577,33 +25401,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, + pos: position{line: 658, col: 56, offset: 20819}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, + pos: position{line: 658, col: 62, offset: 20825}, expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonLink78, + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonExternalLink116, expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, + pos: position{line: 666, col: 21, offset: 21124}, label: "start", expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonLink83, + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonExternalLink121, expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -28611,12 +25435,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonLink85, + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonExternalLink123, expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -28633,7 +25457,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, + pos: position{line: 658, col: 78, offset: 20841}, val: "}", ignoreCase: false, want: "\"}\"", @@ -28642,28 +25466,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonLink89, + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonExternalLink127, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 662, col: 25, offset: 20959}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", ignoreCase: false, - want: "\"\\\\{\"", + want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, + pos: position{line: 662, col: 38, offset: 20972}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLink93, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink131, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -28671,9 +25495,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -28685,53 +25509,56 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonLink99, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonLink103, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonExternalLink138, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonExternalLink143, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonExternalLink145, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, }, }, @@ -28739,7 +25566,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 662, col: 79, offset: 21013}, val: "}", ignoreCase: false, want: "\"}\"", @@ -28754,10 +25581,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonLink109, + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonExternalLink149, expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, + pos: position{line: 2881, col: 11, offset: 91036}, val: "{", ignoreCase: false, want: "\"{\"", @@ -28776,617 +25603,702 @@ var g = &grammar{ }, }, }, - &andCodeExpr{ - pos: position{line: 1424, col: 5, offset: 45779}, - run: (*parser).callonLink111, + &labeledExpr{ + pos: position{line: 1432, col: 34, offset: 46174}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1432, col: 45, offset: 46185}, + expr: &ruleRefExpr{ + pos: position{line: 1432, col: 46, offset: 46186}, + name: "InlineAttributes", + }, + }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1419, col: 19, offset: 45644}, - name: "RelativeLink", - }, - &ruleRefExpr{ - pos: position{line: 1419, col: 34, offset: 45659}, - name: "ExternalLink", - }, &actionExpr{ - pos: position{line: 1456, col: 17, offset: 46904}, - run: (*parser).callonLink114, + pos: position{line: 1437, col: 5, offset: 46319}, + run: (*parser).callonExternalLink154, expr: &seqExpr{ - pos: position{line: 1456, col: 17, offset: 46904}, + pos: position{line: 1437, col: 5, offset: 46319}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1456, col: 17, offset: 46904}, - label: "local", - expr: &actionExpr{ - pos: position{line: 1460, col: 22, offset: 47064}, - run: (*parser).callonLink117, - expr: &seqExpr{ - pos: position{line: 1460, col: 22, offset: 47064}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1460, col: 22, offset: 47064}, - expr: &charClassMatcher{ - pos: position{line: 1460, col: 22, offset: 47064}, - val: "[!#$%&\\*=?^_`{|}~.a-zA-Z0-9+-/]", - chars: []rune{'!', '#', '$', '%', '&', '\'', '*', '=', '?', '^', '_', '`', '{', '|', '}', '~', '.'}, - ranges: []rune{'a', 'z', 'A', 'Z', '0', '9', '+', '/'}, - ignoreCase: false, - inverted: false, - }, - }, - &andCodeExpr{ - pos: position{line: 1461, col: 5, offset: 47107}, - run: (*parser).callonLink121, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1456, col: 43, offset: 46930}, - val: "@", - ignoreCase: false, - want: "\"@\"", - }, - &labeledExpr{ - pos: position{line: 1456, col: 47, offset: 46934}, - label: "domain", + pos: position{line: 1437, col: 5, offset: 46319}, + label: "url", expr: &actionExpr{ - pos: position{line: 1472, col: 23, offset: 47451}, - run: (*parser).callonLink124, + pos: position{line: 2864, col: 23, offset: 90389}, + run: (*parser).callonExternalLink157, expr: &seqExpr{ - pos: position{line: 1472, col: 23, offset: 47451}, + pos: position{line: 2864, col: 23, offset: 90389}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1472, col: 23, offset: 47451}, - expr: &charClassMatcher{ - pos: position{line: 1472, col: 23, offset: 47451}, - val: "[-a-zA-Z0-9]", - chars: []rune{'-'}, - ranges: []rune{'a', 'z', 'A', 'Z', '0', '9'}, + ¬Expr{ + pos: position{line: 2864, col: 23, offset: 90389}, + expr: &litMatcher{ + pos: position{line: 2864, col: 24, offset: 90390}, + val: "[", ignoreCase: false, - inverted: false, + want: "\"[\"", }, }, - &zeroOrMoreExpr{ - pos: position{line: 1472, col: 37, offset: 47465}, - expr: &seqExpr{ - pos: position{line: 1472, col: 38, offset: 47466}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1472, col: 38, offset: 47466}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - &oneOrMoreExpr{ - pos: position{line: 1472, col: 42, offset: 47470}, - expr: &charClassMatcher{ - pos: position{line: 1472, col: 42, offset: 47470}, - val: "[-a-zA-Z0-9]", - chars: []rune{'-'}, - ranges: []rune{'a', 'z', 'A', 'Z', '0', '9'}, + &labeledExpr{ + pos: position{line: 2864, col: 28, offset: 90394}, + label: "scheme", + expr: &actionExpr{ + pos: position{line: 2868, col: 11, offset: 90509}, + run: (*parser).callonExternalLink162, + expr: &choiceExpr{ + pos: position{line: 2868, col: 12, offset: 90510}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2868, col: 12, offset: 90510}, + val: "http://", ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "RelativeLink", - pos: position{line: 1433, col: 1, offset: 46059}, - expr: &choiceExpr{ - pos: position{line: 1435, col: 5, offset: 46095}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1435, col: 5, offset: 46095}, - run: (*parser).callonRelativeLink2, - expr: &seqExpr{ - pos: position{line: 1435, col: 5, offset: 46095}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1435, col: 5, offset: 46095}, - val: "\\link:", - ignoreCase: false, - want: "\"\\\\link:\"", - }, - &labeledExpr{ - pos: position{line: 1435, col: 17, offset: 46107}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - run: (*parser).callonRelativeLink6, - expr: &seqExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - label: "scheme", - expr: &zeroOrOneExpr{ - pos: position{line: 2869, col: 20, offset: 90882}, - expr: &actionExpr{ - pos: position{line: 2877, col: 11, offset: 91144}, - run: (*parser).callonRelativeLink10, - expr: &choiceExpr{ - pos: position{line: 2877, col: 12, offset: 91145}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2877, col: 12, offset: 91145}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 24, offset: 91157}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 37, offset: 91170}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 48, offset: 91181}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 59, offset: 91192}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", - }, + want: "\"http://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 24, offset: 90522}, + val: "https://", + ignoreCase: false, + want: "\"https://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 37, offset: 90535}, + val: "ftp://", + ignoreCase: false, + want: "\"ftp://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 48, offset: 90546}, + val: "irc://", + ignoreCase: false, + want: "\"irc://\"", + }, + &litMatcher{ + pos: position{line: 2868, col: 59, offset: 90557}, + val: "mailto:", + ignoreCase: false, + want: "\"mailto:\"", }, }, }, }, }, &labeledExpr{ - pos: position{line: 2869, col: 30, offset: 90892}, + pos: position{line: 2864, col: 44, offset: 90410}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 2869, col: 35, offset: 90897}, - expr: &choiceExpr{ - pos: position{line: 2869, col: 36, offset: 90898}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonRelativeLink20, - expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, - expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonRelativeLink27, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, - ignoreCase: false, - inverted: true, - }, - }, + pos: position{line: 2864, col: 49, offset: 90415}, + expr: &actionExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonExternalLink171, + expr: &seqExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2873, col: 5, offset: 90621}, + expr: &litMatcher{ + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2874, col: 14, offset: 90655}, + expr: &choiceExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonExternalLink178, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, + ignoreCase: false, + inverted: true, }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonRelativeLink31, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, + }, + }, + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonExternalLink182, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", ignoreCase: false, - inverted: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, }, }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonRelativeLink38, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalLink193, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + }, + }, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonRelativeLink40, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonRelativeLink42, + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonExternalLink196, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonRelativeLink45, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalLink203, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink49, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExternalLink205, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonRelativeLink56, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonRelativeLink61, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonRelativeLink63, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonRelativeLink67, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink71, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonExternalLink213, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonExternalLink216, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonExternalLink219, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonExternalLink222, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExternalLink229, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonExternalLink231, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonExternalLink233, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonExternalLink236, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink240, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonRelativeLink78, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonRelativeLink83, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonRelativeLink85, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonRelativeLink89, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink93, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonExternalLink246, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink250, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonRelativeLink99, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink103, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonExternalLink256, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink260, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonExternalLink267, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonExternalLink272, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonExternalLink274, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonExternalLink278, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonExternalLink282, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonExternalLink289, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonExternalLink294, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonExternalLink296, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, @@ -29394,59 +26306,20 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonRelativeLink109, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonRelativeLink111, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonRelativeLink115, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + &actionExpr{ + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonExternalLink300, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", ignoreCase: false, - inverted: false, + want: "\"{\"", }, }, }, }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, }, }, }, @@ -29459,570 +26332,538 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1435, col: 32, offset: 46122}, + pos: position{line: 1437, col: 30, offset: 46344}, label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1435, col: 44, offset: 46134}, - name: "InlineAttributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1437, col: 41, offset: 46355}, + expr: &ruleRefExpr{ + pos: position{line: 1437, col: 42, offset: 46356}, + name: "InlineAttributes", + }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 1440, col: 5, offset: 46266}, - run: (*parser).callonRelativeLink121, - expr: &seqExpr{ - pos: position{line: 1440, col: 5, offset: 46266}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1440, col: 5, offset: 46266}, - val: "link:", - ignoreCase: false, - want: "\"link:\"", - }, - &labeledExpr{ - pos: position{line: 1440, col: 13, offset: 46274}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - run: (*parser).callonRelativeLink125, + }, + }, + }, + { + name: "ListElements", + pos: position{line: 1471, col: 1, offset: 47497}, + expr: &actionExpr{ + pos: position{line: 1472, col: 5, offset: 47518}, + run: (*parser).callonListElements1, + expr: &seqExpr{ + pos: position{line: 1472, col: 5, offset: 47518}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1472, col: 5, offset: 47518}, + label: "firstElement", + expr: &choiceExpr{ + pos: position{line: 1478, col: 5, offset: 47720}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1571, col: 5, offset: 50654}, + run: (*parser).callonListElements5, expr: &seqExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, + pos: position{line: 1571, col: 5, offset: 50654}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2869, col: 13, offset: 90875}, - label: "scheme", - expr: &zeroOrOneExpr{ - pos: position{line: 2869, col: 20, offset: 90882}, - expr: &actionExpr{ - pos: position{line: 2877, col: 11, offset: 91144}, - run: (*parser).callonRelativeLink129, - expr: &choiceExpr{ - pos: position{line: 2877, col: 12, offset: 91145}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2877, col: 12, offset: 91145}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", + pos: position{line: 1571, col: 5, offset: 50654}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + run: (*parser).callonListElements8, + expr: &seqExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListElements11, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, - &litMatcher{ - pos: position{line: 2877, col: 24, offset: 91157}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", + }, + &labeledExpr{ + pos: position{line: 1578, col: 12, offset: 50869}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + run: (*parser).callonListElements15, + expr: &seqExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1580, col: 16, offset: 50939}, + run: (*parser).callonListElements18, + expr: &oneOrMoreExpr{ + pos: position{line: 1580, col: 16, offset: 50939}, + expr: &litMatcher{ + pos: position{line: 1580, col: 17, offset: 50940}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1584, col: 9, offset: 51040}, + run: (*parser).callonListElements21, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + run: (*parser).callonListElements22, + expr: &seqExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + expr: &charClassMatcher{ + pos: position{line: 1603, col: 12, offset: 51758}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1603, col: 20, offset: 51766}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1605, col: 13, offset: 51883}, + run: (*parser).callonListElements27, + expr: &seqExpr{ + pos: position{line: 1605, col: 13, offset: 51883}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1605, col: 14, offset: 51884}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1605, col: 21, offset: 51891}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1607, col: 13, offset: 52011}, + run: (*parser).callonListElements31, + expr: &seqExpr{ + pos: position{line: 1607, col: 13, offset: 52011}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1607, col: 14, offset: 52012}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1607, col: 21, offset: 52019}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + run: (*parser).callonListElements35, + expr: &seqExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + expr: &charClassMatcher{ + pos: position{line: 1609, col: 14, offset: 52140}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1609, col: 26, offset: 52152}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + run: (*parser).callonListElements40, + expr: &seqExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + expr: &charClassMatcher{ + pos: position{line: 1611, col: 14, offset: 52273}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1611, col: 26, offset: 52285}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2877, col: 37, offset: 91170}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListElements45, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, - &litMatcher{ - pos: position{line: 2877, col: 48, offset: 91181}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 50693}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonListElements49, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonListElements53, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2877, col: 59, offset: 91192}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListElements57, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + run: (*parser).callonListElements64, + expr: &seqExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2869, col: 30, offset: 90892}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2869, col: 35, offset: 90897}, - expr: &choiceExpr{ - pos: position{line: 2869, col: 36, offset: 90898}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonRelativeLink139, - expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", + pos: position{line: 1621, col: 5, offset: 52551}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + run: (*parser).callonListElements67, + expr: &seqExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListElements70, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1629, col: 5, offset: 52836}, + label: "style", + expr: &actionExpr{ + pos: position{line: 1630, col: 9, offset: 52852}, + run: (*parser).callonListElements73, + expr: &choiceExpr{ + pos: position{line: 1630, col: 10, offset: 52853}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 1630, col: 11, offset: 52854}, + val: "-", ignoreCase: false, - want: "\"[\"", + want: "\"-\"", }, - }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, - expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonRelativeLink146, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonRelativeLink150, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonRelativeLink157, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonRelativeLink159, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonRelativeLink161, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonRelativeLink164, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink168, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonRelativeLink175, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonRelativeLink180, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonRelativeLink182, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonRelativeLink186, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink190, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonRelativeLink197, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonRelativeLink202, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonRelativeLink204, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonRelativeLink208, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink212, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonRelativeLink218, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonRelativeLink222, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonRelativeLink228, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, + &oneOrMoreExpr{ + pos: position{line: 1630, col: 18, offset: 52861}, + expr: &litMatcher{ + pos: position{line: 1630, col: 19, offset: 52862}, + val: "*", + ignoreCase: false, + want: "\"*\"", }, }, }, }, }, }, + &andCodeExpr{ + pos: position{line: 1633, col: 7, offset: 52952}, + run: (*parser).callonListElements78, + }, &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonRelativeLink230, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListElements79, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1622, col: 5, offset: 52592}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1622, col: 16, offset: 52603}, + expr: &actionExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + run: (*parser).callonListElements84, + expr: &seqExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + expr: &litMatcher{ + pos: position{line: 1643, col: 6, offset: 53218}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1643, col: 10, offset: 53222}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1644, col: 7, offset: 53236}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1644, col: 7, offset: 53236}, + run: (*parser).callonListElements90, + expr: &litMatcher{ + pos: position{line: 1644, col: 7, offset: 53236}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1645, col: 7, offset: 53281}, + run: (*parser).callonListElements92, + expr: &litMatcher{ + pos: position{line: 1645, col: 7, offset: 53281}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1646, col: 7, offset: 53324}, + run: (*parser).callonListElements94, + expr: &litMatcher{ + pos: position{line: 1646, col: 7, offset: 53324}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListElements96, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"�\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonRelativeLink234, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1623, col: 5, offset: 52642}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonListElements100, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonListElements104, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListElements108, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -30034,545 +26875,135 @@ var g = &grammar{ }, }, }, - }, - &labeledExpr{ - pos: position{line: 1440, col: 28, offset: 46289}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 1440, col: 40, offset: 46301}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ExternalLink", - pos: position{line: 1444, col: 1, offset: 46417}, - expr: &choiceExpr{ - pos: position{line: 1447, col: 5, offset: 46579}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1447, col: 5, offset: 46579}, - run: (*parser).callonExternalLink2, - expr: &seqExpr{ - pos: position{line: 1447, col: 5, offset: 46579}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1447, col: 5, offset: 46579}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &labeledExpr{ - pos: position{line: 1447, col: 9, offset: 46583}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2873, col: 23, offset: 91024}, - run: (*parser).callonExternalLink6, + &actionExpr{ + pos: position{line: 1711, col: 5, offset: 55159}, + run: (*parser).callonListElements115, expr: &seqExpr{ - pos: position{line: 2873, col: 23, offset: 91024}, + pos: position{line: 1711, col: 5, offset: 55159}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2873, col: 23, offset: 91024}, - expr: &litMatcher{ - pos: position{line: 2873, col: 24, offset: 91025}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, &labeledExpr{ - pos: position{line: 2873, col: 28, offset: 91029}, - label: "scheme", + pos: position{line: 1711, col: 5, offset: 55159}, + label: "ref", expr: &actionExpr{ - pos: position{line: 2877, col: 11, offset: 91144}, - run: (*parser).callonExternalLink11, - expr: &choiceExpr{ - pos: position{line: 2877, col: 12, offset: 91145}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2877, col: 12, offset: 91145}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 24, offset: 91157}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, + pos: position{line: 1717, col: 5, offset: 55356}, + run: (*parser).callonListElements118, + expr: &seqExpr{ + pos: position{line: 1717, col: 5, offset: 55356}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 2877, col: 37, offset: 91170}, - val: "ftp://", + pos: position{line: 1717, col: 5, offset: 55356}, + val: "<", ignoreCase: false, - want: "\"ftp://\"", + want: "\"<\"", }, - &litMatcher{ - pos: position{line: 2877, col: 48, offset: 91181}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", + &labeledExpr{ + pos: position{line: 1717, col: 9, offset: 55360}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1717, col: 14, offset: 55365}, + run: (*parser).callonListElements122, + expr: &oneOrMoreExpr{ + pos: position{line: 1717, col: 14, offset: 55365}, + expr: &charClassMatcher{ + pos: position{line: 1717, col: 14, offset: 55365}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, &litMatcher{ - pos: position{line: 2877, col: 59, offset: 91192}, - val: "mailto:", + pos: position{line: 1717, col: 62, offset: 55413}, + val: ">", ignoreCase: false, - want: "\"mailto:\"", + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListElements126, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2873, col: 44, offset: 91045}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2873, col: 49, offset: 91050}, - expr: &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonExternalLink20, - expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", - ignoreCase: false, - want: "\"[\"", + pos: position{line: 1712, col: 5, offset: 55195}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonListElements130, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonListElements134, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListElements138, expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonExternalLink27, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonExternalLink31, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExternalLink38, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonExternalLink40, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonExternalLink42, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonExternalLink45, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink49, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonExternalLink56, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonExternalLink61, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonExternalLink63, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonExternalLink67, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink71, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonExternalLink78, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonExternalLink83, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonExternalLink85, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonExternalLink89, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink93, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonExternalLink99, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink103, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonExternalLink109, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -30582,531 +27013,350 @@ var g = &grammar{ }, }, }, - }, - &labeledExpr{ - pos: position{line: 1447, col: 34, offset: 46608}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1447, col: 45, offset: 46619}, - expr: &ruleRefExpr{ - pos: position{line: 1447, col: 46, offset: 46620}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1452, col: 5, offset: 46753}, - run: (*parser).callonExternalLink114, - expr: &seqExpr{ - pos: position{line: 1452, col: 5, offset: 46753}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1452, col: 5, offset: 46753}, - label: "url", - expr: &actionExpr{ - pos: position{line: 2873, col: 23, offset: 91024}, - run: (*parser).callonExternalLink117, + &actionExpr{ + pos: position{line: 1655, col: 5, offset: 53517}, + run: (*parser).callonListElements145, expr: &seqExpr{ - pos: position{line: 2873, col: 23, offset: 91024}, + pos: position{line: 1655, col: 5, offset: 53517}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2873, col: 23, offset: 91024}, - expr: &litMatcher{ - pos: position{line: 2873, col: 24, offset: 91025}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, &labeledExpr{ - pos: position{line: 2873, col: 28, offset: 91029}, - label: "scheme", + pos: position{line: 1655, col: 5, offset: 53517}, + label: "term", expr: &actionExpr{ - pos: position{line: 2877, col: 11, offset: 91144}, - run: (*parser).callonExternalLink122, - expr: &choiceExpr{ - pos: position{line: 2877, col: 12, offset: 91145}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2877, col: 12, offset: 91145}, - val: "http://", - ignoreCase: false, - want: "\"http://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 24, offset: 91157}, - val: "https://", - ignoreCase: false, - want: "\"https://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 37, offset: 91170}, - val: "ftp://", - ignoreCase: false, - want: "\"ftp://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 48, offset: 91181}, - val: "irc://", - ignoreCase: false, - want: "\"irc://\"", - }, - &litMatcher{ - pos: position{line: 2877, col: 59, offset: 91192}, - val: "mailto:", - ignoreCase: false, - want: "\"mailto:\"", - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2873, col: 44, offset: 91045}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2873, col: 49, offset: 91050}, - expr: &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonExternalLink131, + pos: position{line: 1663, col: 5, offset: 53843}, + run: (*parser).callonListElements148, + expr: &oneOrMoreExpr{ + pos: position{line: 1663, col: 5, offset: 53843}, expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, + pos: position{line: 1663, col: 6, offset: 53844}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", - ignoreCase: false, - want: "\"[\"", + pos: position{line: 1663, col: 6, offset: 53844}, + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonListElements152, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonListElements155, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonListElements158, + }, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, - expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonExternalLink138, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, + ¬Expr{ + pos: position{line: 1663, col: 35, offset: 53873}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListElements161, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: true, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonExternalLink142, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExternalLink149, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1663, col: 40, offset: 53878, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1656, col: 5, offset: 53552}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonListElements170, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonListElements173, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonListElements176, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1657, col: 5, offset: 53597}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1679, col: 5, offset: 54312}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + run: (*parser).callonListElements179, + expr: &seqExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListElements182, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListElements185, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonExternalLink151, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonExternalLink153, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1682, col: 9, offset: 54397}, + expr: &actionExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListElements193, + expr: &seqExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 677, col: 21, offset: 21493}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListElements198, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListElements201, expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonExternalLink156, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink160, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonExternalLink167, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonExternalLink172, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonExternalLink174, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonExternalLink178, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink182, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonExternalLink189, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonExternalLink194, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonExternalLink196, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonExternalLink200, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink204, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonExternalLink210, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonExternalLink214, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonExternalLink220, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1688, col: 9, offset: 54526}, + run: (*parser).callonListElements208, + expr: &seqExpr{ + pos: position{line: 1688, col: 9, offset: 54526}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListElements210, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1689, col: 9, offset: 54599}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1689, col: 18, offset: 54608}, + run: (*parser).callonListElements214, + expr: &oneOrMoreExpr{ + pos: position{line: 1689, col: 18, offset: 54608}, + expr: &charClassMatcher{ + pos: position{line: 1689, col: 18, offset: 54608}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListElements218, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -31119,17 +27369,14 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 1452, col: 30, offset: 46778}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1452, col: 41, offset: 46789}, - expr: &ruleRefExpr{ - pos: position{line: 1452, col: 42, offset: 46790}, - name: "InlineAttributes", - }, - }, - }, + }, + }, + &labeledExpr{ + pos: position{line: 1473, col: 5, offset: 47549}, + label: "extraElements", + expr: &ruleRefExpr{ + pos: position{line: 1473, col: 20, offset: 47564}, + name: "ExtraListElements", }, }, }, @@ -31137,278 +27384,102 @@ var g = &grammar{ }, }, { - name: "ListElements", - pos: position{line: 1479, col: 1, offset: 47785}, + name: "ExtraListElements", + pos: position{line: 1483, col: 1, offset: 47819}, expr: &actionExpr{ - pos: position{line: 1480, col: 5, offset: 47806}, - run: (*parser).callonListElements1, + pos: position{line: 1483, col: 22, offset: 47840}, + run: (*parser).callonExtraListElements1, + expr: &labeledExpr{ + pos: position{line: 1483, col: 22, offset: 47840}, + label: "elements", + expr: &zeroOrMoreExpr{ + pos: position{line: 1483, col: 31, offset: 47849}, + expr: &ruleRefExpr{ + pos: position{line: 1483, col: 32, offset: 47850}, + name: "ExtraListElement", + }, + }, + }, + }, + }, + { + name: "ExtraListElement", + pos: position{line: 1487, col: 1, offset: 47930}, + expr: &actionExpr{ + pos: position{line: 1488, col: 5, offset: 48069}, + run: (*parser).callonExtraListElement1, expr: &seqExpr{ - pos: position{line: 1480, col: 5, offset: 47806}, + pos: position{line: 1488, col: 5, offset: 48069}, exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, &labeledExpr{ - pos: position{line: 1480, col: 5, offset: 47806}, - label: "firstElement", + pos: position{line: 1489, col: 5, offset: 48081}, + label: "element", expr: &choiceExpr{ - pos: position{line: 1486, col: 5, offset: 48008}, + pos: position{line: 1490, col: 9, offset: 48099}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - run: (*parser).callonListElements5, + pos: position{line: 1490, col: 13, offset: 48103}, + run: (*parser).callonExtraListElement7, expr: &seqExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, + pos: position{line: 1490, col: 13, offset: 48103}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - label: "prefix", + &zeroOrMoreExpr{ + pos: position{line: 1490, col: 13, offset: 48103}, expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - run: (*parser).callonListElements8, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonExtraListElement10, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, &zeroOrMoreExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListElements11, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement15, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, - &labeledExpr{ - pos: position{line: 1586, col: 12, offset: 51153}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - run: (*parser).callonListElements15, - expr: &seqExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - run: (*parser).callonListElements18, - expr: &oneOrMoreExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - expr: &litMatcher{ - pos: position{line: 1588, col: 17, offset: 51224}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1592, col: 9, offset: 51324}, - run: (*parser).callonListElements21, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - run: (*parser).callonListElements22, - expr: &seqExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - expr: &charClassMatcher{ - pos: position{line: 1611, col: 12, offset: 52042}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1611, col: 20, offset: 52050}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - run: (*parser).callonListElements27, - expr: &seqExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1613, col: 14, offset: 52168}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1613, col: 21, offset: 52175}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - run: (*parser).callonListElements31, - expr: &seqExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1615, col: 14, offset: 52296}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1615, col: 21, offset: 52303}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - run: (*parser).callonListElements35, - expr: &seqExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - expr: &charClassMatcher{ - pos: position{line: 1617, col: 14, offset: 52424}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1617, col: 26, offset: 52436}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - run: (*parser).callonListElements40, - expr: &seqExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - expr: &charClassMatcher{ - pos: position{line: 1619, col: 14, offset: 52557}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1619, col: 26, offset: 52569}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListElements45, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1580, col: 5, offset: 50977}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonListElements49, - expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonListElements53, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListElements57, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement18, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -31417,9 +27488,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -31428,630 +27499,640 @@ var g = &grammar{ }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - run: (*parser).callonListElements64, - expr: &seqExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - run: (*parser).callonListElements67, - expr: &seqExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListElements70, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53120}, - label: "style", - expr: &actionExpr{ - pos: position{line: 1638, col: 9, offset: 53136}, - run: (*parser).callonListElements73, - expr: &choiceExpr{ - pos: position{line: 1638, col: 10, offset: 53137}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 1638, col: 11, offset: 53138}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - &oneOrMoreExpr{ - pos: position{line: 1638, col: 18, offset: 53145}, - expr: &litMatcher{ - pos: position{line: 1638, col: 19, offset: 53146}, - val: "*", - ignoreCase: false, - want: "\"*\"", + pos: position{line: 1491, col: 13, offset: 48127}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1491, col: 22, offset: 48136}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1571, col: 5, offset: 50654}, + run: (*parser).callonExtraListElement27, + expr: &seqExpr{ + pos: position{line: 1571, col: 5, offset: 50654}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1571, col: 5, offset: 50654}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + run: (*parser).callonExtraListElement30, + expr: &seqExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement33, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1578, col: 12, offset: 50869}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + run: (*parser).callonExtraListElement37, + expr: &seqExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1580, col: 16, offset: 50939}, + run: (*parser).callonExtraListElement40, + expr: &oneOrMoreExpr{ + pos: position{line: 1580, col: 16, offset: 50939}, + expr: &litMatcher{ + pos: position{line: 1580, col: 17, offset: 50940}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1584, col: 9, offset: 51040}, + run: (*parser).callonExtraListElement43, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + run: (*parser).callonExtraListElement44, + expr: &seqExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + expr: &charClassMatcher{ + pos: position{line: 1603, col: 12, offset: 51758}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1603, col: 20, offset: 51766}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1605, col: 13, offset: 51883}, + run: (*parser).callonExtraListElement49, + expr: &seqExpr{ + pos: position{line: 1605, col: 13, offset: 51883}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1605, col: 14, offset: 51884}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1605, col: 21, offset: 51891}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1607, col: 13, offset: 52011}, + run: (*parser).callonExtraListElement53, + expr: &seqExpr{ + pos: position{line: 1607, col: 13, offset: 52011}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1607, col: 14, offset: 52012}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 1607, col: 21, offset: 52019}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + run: (*parser).callonExtraListElement57, + expr: &seqExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + expr: &charClassMatcher{ + pos: position{line: 1609, col: 14, offset: 52140}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1609, col: 26, offset: 52152}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + run: (*parser).callonExtraListElement62, + expr: &seqExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + expr: &charClassMatcher{ + pos: position{line: 1611, col: 14, offset: 52273}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1611, col: 26, offset: 52285}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement67, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, }, - }, - }, - &andCodeExpr{ - pos: position{line: 1641, col: 7, offset: 53236}, - run: (*parser).callonListElements78, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListElements79, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1630, col: 5, offset: 52876}, - label: "checkstyle", - expr: &zeroOrOneExpr{ - pos: position{line: 1630, col: 16, offset: 52887}, - expr: &actionExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - run: (*parser).callonListElements84, - expr: &seqExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - expr: &litMatcher{ - pos: position{line: 1651, col: 6, offset: 53502}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 1651, col: 10, offset: 53506}, - label: "style", - expr: &choiceExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, - run: (*parser).callonListElements90, - expr: &litMatcher{ - pos: position{line: 1652, col: 7, offset: 53520}, - val: "[ ]", - ignoreCase: false, - want: "\"[ ]\"", - }, - }, - &actionExpr{ - pos: position{line: 1653, col: 7, offset: 53565}, - run: (*parser).callonListElements92, - expr: &litMatcher{ - pos: position{line: 1653, col: 7, offset: 53565}, - val: "[*]", - ignoreCase: false, - want: "\"[*]\"", - }, - }, - &actionExpr{ - pos: position{line: 1654, col: 7, offset: 53608}, - run: (*parser).callonListElements94, - expr: &litMatcher{ - pos: position{line: 1654, col: 7, offset: 53608}, - val: "[x]", - ignoreCase: false, - want: "\"[x]\"", + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 50693}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonExtraListElement71, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonExtraListElement75, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement79, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListElements96, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1631, col: 5, offset: 52926}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonListElements100, - expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonListElements104, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + run: (*parser).callonExtraListElement86, + expr: &seqExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + label: "prefix", + expr: &actionExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + run: (*parser).callonExtraListElement89, + expr: &seqExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement92, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1629, col: 5, offset: 52836}, + label: "style", + expr: &actionExpr{ + pos: position{line: 1630, col: 9, offset: 52852}, + run: (*parser).callonExtraListElement95, + expr: &choiceExpr{ + pos: position{line: 1630, col: 10, offset: 52853}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 1630, col: 11, offset: 52854}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + &oneOrMoreExpr{ + pos: position{line: 1630, col: 18, offset: 52861}, + expr: &litMatcher{ + pos: position{line: 1630, col: 19, offset: 52862}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1633, col: 7, offset: 52952}, + run: (*parser).callonExtraListElement100, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement101, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListElements108, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - run: (*parser).callonListElements115, - expr: &seqExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, - run: (*parser).callonListElements118, - expr: &seqExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1725, col: 5, offset: 55645}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1725, col: 9, offset: 55649}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - run: (*parser).callonListElements122, - expr: &oneOrMoreExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - expr: &charClassMatcher{ - pos: position{line: 1725, col: 14, offset: 55654}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1725, col: 62, offset: 55702}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListElements126, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 55484}, - label: "description", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonListElements130, - expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonListElements134, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListElements138, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - run: (*parser).callonListElements145, - expr: &seqExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - label: "term", - expr: &actionExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - run: (*parser).callonListElements148, - expr: &oneOrMoreExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - expr: &seqExpr{ - pos: position{line: 1671, col: 6, offset: 54128}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1671, col: 6, offset: 54128}, - expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonListElements152, - expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonListElements155, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, + &labeledExpr{ + pos: position{line: 1622, col: 5, offset: 52592}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1622, col: 16, offset: 52603}, + expr: &actionExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + run: (*parser).callonExtraListElement106, + expr: &seqExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", + pos: position{line: 1643, col: 6, offset: 53218}, + val: "[", ignoreCase: false, - want: "\":\"", + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1643, col: 10, offset: 53222}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1644, col: 7, offset: 53236}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1644, col: 7, offset: 53236}, + run: (*parser).callonExtraListElement112, + expr: &litMatcher{ + pos: position{line: 1644, col: 7, offset: 53236}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1645, col: 7, offset: 53281}, + run: (*parser).callonExtraListElement114, + expr: &litMatcher{ + pos: position{line: 1645, col: 7, offset: 53281}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1646, col: 7, offset: 53324}, + run: (*parser).callonExtraListElement116, + expr: &litMatcher{ + pos: position{line: 1646, col: 7, offset: 53324}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement118, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonListElements158, - }, }, }, }, - }, - ¬Expr{ - pos: position{line: 1671, col: 35, offset: 54157}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListElements161, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &labeledExpr{ + pos: position{line: 1623, col: 5, offset: 52642}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonExtraListElement122, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonExtraListElement126, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement130, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1671, col: 40, offset: 54162, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1664, col: 5, offset: 53836}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonListElements170, - expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonListElements173, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", - ignoreCase: false, - want: "\":\"", }, }, }, }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonListElements176, - }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1665, col: 5, offset: 53881}, - label: "description", - expr: &choiceExpr{ - pos: position{line: 1687, col: 5, offset: 54596}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, - run: (*parser).callonListElements179, + pos: position{line: 1711, col: 5, offset: 55159}, + run: (*parser).callonExtraListElement137, expr: &seqExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, + pos: position{line: 1711, col: 5, offset: 55159}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, + &labeledExpr{ + pos: position{line: 1711, col: 5, offset: 55159}, + label: "ref", expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListElements182, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListElements185, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + pos: position{line: 1717, col: 5, offset: 55356}, + run: (*parser).callonExtraListElement140, + expr: &seqExpr{ + pos: position{line: 1717, col: 5, offset: 55356}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1717, col: 5, offset: 55356}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1717, col: 9, offset: 55360}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1717, col: 14, offset: 55365}, + run: (*parser).callonExtraListElement144, + expr: &oneOrMoreExpr{ + pos: position{line: 1717, col: 14, offset: 55365}, + expr: &charClassMatcher{ + pos: position{line: 1717, col: 14, offset: 55365}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + }, + &litMatcher{ + pos: position{line: 1717, col: 62, offset: 55413}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement148, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1690, col: 9, offset: 54681}, + &labeledExpr{ + pos: position{line: 1712, col: 5, offset: 55195}, + label: "description", expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListElements193, + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonExtraListElement152, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 1519, col: 5, offset: 49160}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListElements199, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonExtraListElement156, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListElements202, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement160, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32060,9 +28141,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -32075,284 +28156,440 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, - run: (*parser).callonListElements209, + pos: position{line: 1655, col: 5, offset: 53517}, + run: (*parser).callonExtraListElement167, expr: &seqExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, + pos: position{line: 1655, col: 5, offset: 53517}, exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListElements211, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, &labeledExpr{ - pos: position{line: 1697, col: 9, offset: 54883}, - label: "content", + pos: position{line: 1655, col: 5, offset: 53517}, + label: "term", expr: &actionExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, - run: (*parser).callonListElements215, + pos: position{line: 1663, col: 5, offset: 53843}, + run: (*parser).callonExtraListElement170, expr: &oneOrMoreExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, - expr: &charClassMatcher{ - pos: position{line: 1697, col: 18, offset: 54892}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListElements219, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", + pos: position{line: 1663, col: 5, offset: 53843}, + expr: &seqExpr{ + pos: position{line: 1663, col: 6, offset: 53844}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1663, col: 6, offset: 53844}, + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonExtraListElement174, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonExtraListElement177, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonExtraListElement180, + }, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + ¬Expr{ + pos: position{line: 1663, col: 35, offset: 53873}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement183, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &anyMatcher{ + line: 1663, col: 40, offset: 53878, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1481, col: 5, offset: 47837}, - label: "extraElements", - expr: &ruleRefExpr{ - pos: position{line: 1481, col: 20, offset: 47852}, - name: "ExtraListElements", - }, - }, - }, - }, - }, - }, - { - name: "ExtraListElements", - pos: position{line: 1491, col: 1, offset: 48107}, - expr: &actionExpr{ - pos: position{line: 1491, col: 22, offset: 48128}, - run: (*parser).callonExtraListElements1, - expr: &labeledExpr{ - pos: position{line: 1491, col: 22, offset: 48128}, - label: "elements", - expr: &zeroOrMoreExpr{ - pos: position{line: 1491, col: 31, offset: 48137}, - expr: &ruleRefExpr{ - pos: position{line: 1491, col: 32, offset: 48138}, - name: "ExtraListElement", - }, - }, - }, - }, - }, - { - name: "ExtraListElement", - pos: position{line: 1495, col: 1, offset: 48218}, - expr: &actionExpr{ - pos: position{line: 1496, col: 5, offset: 48357}, - run: (*parser).callonExtraListElement1, - expr: &seqExpr{ - pos: position{line: 1496, col: 5, offset: 48357}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1496, col: 5, offset: 48357}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1497, col: 5, offset: 48367}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1498, col: 9, offset: 48385}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1498, col: 13, offset: 48389}, - run: (*parser).callonExtraListElement8, - expr: &seqExpr{ - pos: position{line: 1498, col: 13, offset: 48389}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1498, col: 13, offset: 48389}, - expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonExtraListElement11, - expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement17, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 1656, col: 5, offset: 53552}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonExtraListElement192, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonExtraListElement195, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonExtraListElement198, + }, + }, + }, + }, }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement20, + &labeledExpr{ + pos: position{line: 1657, col: 5, offset: 53597}, + label: "description", expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 1679, col: 5, offset: 54312}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &actionExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + run: (*parser).callonExtraListElement201, + expr: &seqExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement204, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement207, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1682, col: 9, offset: 54397}, + expr: &actionExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonExtraListElement215, + expr: &seqExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 677, col: 21, offset: 21493}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement220, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement223, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &actionExpr{ + pos: position{line: 1688, col: 9, offset: 54526}, + run: (*parser).callonExtraListElement230, + expr: &seqExpr{ + pos: position{line: 1688, col: 9, offset: 54526}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement232, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1689, col: 9, offset: 54599}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1689, col: 18, offset: 54608}, + run: (*parser).callonExtraListElement236, + expr: &oneOrMoreExpr{ + pos: position{line: 1689, col: 18, offset: 54608}, + expr: &charClassMatcher{ + pos: position{line: 1689, col: 18, offset: 54608}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement240, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, }, }, }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1494, col: 13, offset: 48287}, + run: (*parser).callonExtraListElement247, + expr: &seqExpr{ + pos: position{line: 1494, col: 13, offset: 48287}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1494, col: 13, offset: 48287}, + label: "attributes", + expr: &oneOrMoreExpr{ + pos: position{line: 1494, col: 24, offset: 48298}, + expr: &ruleRefExpr{ + pos: position{line: 1494, col: 25, offset: 48299}, + name: "BlockAttributes", + }, + }, + }, &labeledExpr{ - pos: position{line: 1499, col: 13, offset: 48413}, + pos: position{line: 1495, col: 13, offset: 48330}, label: "element", expr: &choiceExpr{ - pos: position{line: 1499, col: 22, offset: 48422}, + pos: position{line: 1495, col: 22, offset: 48339}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - run: (*parser).callonExtraListElement29, + pos: position{line: 1571, col: 5, offset: 50654}, + run: (*parser).callonExtraListElement254, expr: &seqExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, + pos: position{line: 1571, col: 5, offset: 50654}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, + pos: position{line: 1571, col: 5, offset: 50654}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - run: (*parser).callonExtraListElement32, + pos: position{line: 1578, col: 5, offset: 50862}, + run: (*parser).callonExtraListElement257, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 1578, col: 5, offset: 50862}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 1578, col: 5, offset: 50862}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement35, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement260, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1586, col: 12, offset: 51153}, + pos: position{line: 1578, col: 12, offset: 50869}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - run: (*parser).callonExtraListElement39, + pos: position{line: 1580, col: 9, offset: 50932}, + run: (*parser).callonExtraListElement264, expr: &seqExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, label: "depth", expr: &actionExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - run: (*parser).callonExtraListElement42, + pos: position{line: 1580, col: 16, offset: 50939}, + run: (*parser).callonExtraListElement267, expr: &oneOrMoreExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, + pos: position{line: 1580, col: 16, offset: 50939}, expr: &litMatcher{ - pos: position{line: 1588, col: 17, offset: 51224}, + pos: position{line: 1580, col: 17, offset: 50940}, val: ".", ignoreCase: false, want: "\".\"", @@ -32361,22 +28598,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1592, col: 9, offset: 51324}, - run: (*parser).callonExtraListElement45, + pos: position{line: 1584, col: 9, offset: 51040}, + run: (*parser).callonExtraListElement270, }, }, }, }, &actionExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - run: (*parser).callonExtraListElement46, + pos: position{line: 1603, col: 11, offset: 51757}, + run: (*parser).callonExtraListElement271, expr: &seqExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, + pos: position{line: 1603, col: 11, offset: 51757}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, + pos: position{line: 1603, col: 11, offset: 51757}, expr: &charClassMatcher{ - pos: position{line: 1611, col: 12, offset: 52042}, + pos: position{line: 1603, col: 12, offset: 51758}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32384,7 +28621,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1611, col: 20, offset: 52050}, + pos: position{line: 1603, col: 20, offset: 51766}, val: ".", ignoreCase: false, want: "\".\"", @@ -32393,20 +28630,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - run: (*parser).callonExtraListElement51, + pos: position{line: 1605, col: 13, offset: 51883}, + run: (*parser).callonExtraListElement276, expr: &seqExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, + pos: position{line: 1605, col: 13, offset: 51883}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1613, col: 14, offset: 52168}, + pos: position{line: 1605, col: 14, offset: 51884}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1613, col: 21, offset: 52175}, + pos: position{line: 1605, col: 21, offset: 51891}, val: ".", ignoreCase: false, want: "\".\"", @@ -32415,20 +28652,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - run: (*parser).callonExtraListElement55, + pos: position{line: 1607, col: 13, offset: 52011}, + run: (*parser).callonExtraListElement280, expr: &seqExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, + pos: position{line: 1607, col: 13, offset: 52011}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1615, col: 14, offset: 52296}, + pos: position{line: 1607, col: 14, offset: 52012}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1615, col: 21, offset: 52303}, + pos: position{line: 1607, col: 21, offset: 52019}, val: ".", ignoreCase: false, want: "\".\"", @@ -32437,15 +28674,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - run: (*parser).callonExtraListElement59, + pos: position{line: 1609, col: 13, offset: 52139}, + run: (*parser).callonExtraListElement284, expr: &seqExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, + pos: position{line: 1609, col: 13, offset: 52139}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, + pos: position{line: 1609, col: 13, offset: 52139}, expr: &charClassMatcher{ - pos: position{line: 1617, col: 14, offset: 52424}, + pos: position{line: 1609, col: 14, offset: 52140}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -32453,7 +28690,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1617, col: 26, offset: 52436}, + pos: position{line: 1609, col: 26, offset: 52152}, val: ")", ignoreCase: false, want: "\")\"", @@ -32462,15 +28699,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - run: (*parser).callonExtraListElement64, + pos: position{line: 1611, col: 13, offset: 52272}, + run: (*parser).callonExtraListElement289, expr: &seqExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, + pos: position{line: 1611, col: 13, offset: 52272}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, + pos: position{line: 1611, col: 13, offset: 52272}, expr: &charClassMatcher{ - pos: position{line: 1619, col: 14, offset: 52557}, + pos: position{line: 1611, col: 14, offset: 52273}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -32478,7 +28715,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1619, col: 26, offset: 52569}, + pos: position{line: 1611, col: 26, offset: 52285}, val: ")", ignoreCase: false, want: "\")\"", @@ -32490,14 +28727,14 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement69, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement294, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -32508,26 +28745,26 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1580, col: 5, offset: 50977}, + pos: position{line: 1572, col: 5, offset: 50693}, label: "content", expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonExtraListElement73, + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonExtraListElement298, expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1519, col: 5, offset: 49160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1519, col: 5, offset: 49160}, label: "rawLines", expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, + pos: position{line: 1519, col: 14, offset: 49169}, expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonExtraListElement77, + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonExtraListElement302, expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, + pos: position{line: 1519, col: 15, offset: 49170}, expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, + pos: position{line: 1519, col: 15, offset: 49170}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32538,28 +28775,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement81, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement306, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32568,9 +28805,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -32583,53 +28820,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - run: (*parser).callonExtraListElement88, + pos: position{line: 1621, col: 5, offset: 52551}, + run: (*parser).callonExtraListElement313, expr: &seqExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, + pos: position{line: 1621, col: 5, offset: 52551}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, + pos: position{line: 1621, col: 5, offset: 52551}, label: "prefix", expr: &actionExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - run: (*parser).callonExtraListElement91, + pos: position{line: 1628, col: 5, offset: 52824}, + run: (*parser).callonExtraListElement316, expr: &seqExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 1628, col: 5, offset: 52824}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 1628, col: 5, offset: 52824}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement94, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement319, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53120}, + pos: position{line: 1629, col: 5, offset: 52836}, label: "style", expr: &actionExpr{ - pos: position{line: 1638, col: 9, offset: 53136}, - run: (*parser).callonExtraListElement97, + pos: position{line: 1630, col: 9, offset: 52852}, + run: (*parser).callonExtraListElement322, expr: &choiceExpr{ - pos: position{line: 1638, col: 10, offset: 53137}, + pos: position{line: 1630, col: 10, offset: 52853}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 1638, col: 11, offset: 53138}, + pos: position{line: 1630, col: 11, offset: 52854}, val: "-", ignoreCase: false, want: "\"-\"", }, &oneOrMoreExpr{ - pos: position{line: 1638, col: 18, offset: 53145}, + pos: position{line: 1630, col: 18, offset: 52861}, expr: &litMatcher{ - pos: position{line: 1638, col: 19, offset: 53146}, + pos: position{line: 1630, col: 19, offset: 52862}, val: "*", ignoreCase: false, want: "\"*\"", @@ -32640,18 +28877,18 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1641, col: 7, offset: 53236}, - run: (*parser).callonExtraListElement102, + pos: position{line: 1633, col: 7, offset: 52952}, + run: (*parser).callonExtraListElement327, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement103, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement328, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -32662,56 +28899,56 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1630, col: 5, offset: 52876}, + pos: position{line: 1622, col: 5, offset: 52592}, label: "checkstyle", expr: &zeroOrOneExpr{ - pos: position{line: 1630, col: 16, offset: 52887}, + pos: position{line: 1622, col: 16, offset: 52603}, expr: &actionExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - run: (*parser).callonExtraListElement108, + pos: position{line: 1643, col: 5, offset: 53217}, + run: (*parser).callonExtraListElement333, expr: &seqExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, + pos: position{line: 1643, col: 5, offset: 53217}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, + pos: position{line: 1643, col: 5, offset: 53217}, expr: &litMatcher{ - pos: position{line: 1651, col: 6, offset: 53502}, + pos: position{line: 1643, col: 6, offset: 53218}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 1651, col: 10, offset: 53506}, + pos: position{line: 1643, col: 10, offset: 53222}, label: "style", expr: &choiceExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, + pos: position{line: 1644, col: 7, offset: 53236}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, - run: (*parser).callonExtraListElement114, + pos: position{line: 1644, col: 7, offset: 53236}, + run: (*parser).callonExtraListElement339, expr: &litMatcher{ - pos: position{line: 1652, col: 7, offset: 53520}, + pos: position{line: 1644, col: 7, offset: 53236}, val: "[ ]", ignoreCase: false, want: "\"[ ]\"", }, }, &actionExpr{ - pos: position{line: 1653, col: 7, offset: 53565}, - run: (*parser).callonExtraListElement116, + pos: position{line: 1645, col: 7, offset: 53281}, + run: (*parser).callonExtraListElement341, expr: &litMatcher{ - pos: position{line: 1653, col: 7, offset: 53565}, + pos: position{line: 1645, col: 7, offset: 53281}, val: "[*]", ignoreCase: false, want: "\"[*]\"", }, }, &actionExpr{ - pos: position{line: 1654, col: 7, offset: 53608}, - run: (*parser).callonExtraListElement118, + pos: position{line: 1646, col: 7, offset: 53324}, + run: (*parser).callonExtraListElement343, expr: &litMatcher{ - pos: position{line: 1654, col: 7, offset: 53608}, + pos: position{line: 1646, col: 7, offset: 53324}, val: "[x]", ignoreCase: false, want: "\"[x]\"", @@ -32721,14 +28958,14 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement120, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement345, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -32740,26 +28977,26 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1631, col: 5, offset: 52926}, + pos: position{line: 1623, col: 5, offset: 52642}, label: "content", expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonExtraListElement124, + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonExtraListElement349, expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1519, col: 5, offset: 49160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1519, col: 5, offset: 49160}, label: "rawLines", expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, + pos: position{line: 1519, col: 14, offset: 49169}, expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonExtraListElement128, + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonExtraListElement353, expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, + pos: position{line: 1519, col: 15, offset: 49170}, expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, + pos: position{line: 1519, col: 15, offset: 49170}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32770,28 +29007,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement132, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement357, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32800,9 +29037,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -32815,36 +29052,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - run: (*parser).callonExtraListElement139, + pos: position{line: 1711, col: 5, offset: 55159}, + run: (*parser).callonExtraListElement364, expr: &seqExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, + pos: position{line: 1711, col: 5, offset: 55159}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, + pos: position{line: 1711, col: 5, offset: 55159}, label: "ref", expr: &actionExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, - run: (*parser).callonExtraListElement142, + pos: position{line: 1717, col: 5, offset: 55356}, + run: (*parser).callonExtraListElement367, expr: &seqExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 1717, col: 5, offset: 55356}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 1717, col: 5, offset: 55356}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1725, col: 9, offset: 55649}, + pos: position{line: 1717, col: 9, offset: 55360}, label: "ref", expr: &actionExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - run: (*parser).callonExtraListElement146, + pos: position{line: 1717, col: 14, offset: 55365}, + run: (*parser).callonExtraListElement371, expr: &oneOrMoreExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, + pos: position{line: 1717, col: 14, offset: 55365}, expr: &charClassMatcher{ - pos: position{line: 1725, col: 14, offset: 55654}, + pos: position{line: 1717, col: 14, offset: 55365}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -32854,20 +29091,20 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1725, col: 62, offset: 55702}, + pos: position{line: 1717, col: 62, offset: 55413}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement150, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement375, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -32878,26 +29115,26 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 55484}, + pos: position{line: 1712, col: 5, offset: 55195}, label: "description", expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonExtraListElement154, + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonExtraListElement379, expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1519, col: 5, offset: 49160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1519, col: 5, offset: 49160}, label: "rawLines", expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, + pos: position{line: 1519, col: 14, offset: 49169}, expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonExtraListElement158, + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonExtraListElement383, expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, + pos: position{line: 1519, col: 15, offset: 49170}, expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, + pos: position{line: 1519, col: 15, offset: 49170}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -32908,28 +29145,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement162, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement387, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -32938,9 +29175,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -32953,40 +29190,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - run: (*parser).callonExtraListElement169, + pos: position{line: 1655, col: 5, offset: 53517}, + run: (*parser).callonExtraListElement394, expr: &seqExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, + pos: position{line: 1655, col: 5, offset: 53517}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, + pos: position{line: 1655, col: 5, offset: 53517}, label: "term", expr: &actionExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - run: (*parser).callonExtraListElement172, + pos: position{line: 1663, col: 5, offset: 53843}, + run: (*parser).callonExtraListElement397, expr: &oneOrMoreExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, + pos: position{line: 1663, col: 5, offset: 53843}, expr: &seqExpr{ - pos: position{line: 1671, col: 6, offset: 54128}, + pos: position{line: 1663, col: 6, offset: 53844}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1671, col: 6, offset: 54128}, + pos: position{line: 1663, col: 6, offset: 53844}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonExtraListElement176, + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonExtraListElement401, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, label: "separator", expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonExtraListElement179, + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonExtraListElement404, expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, + pos: position{line: 1668, col: 16, offset: 54005}, expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, + pos: position{line: 1668, col: 17, offset: 54006}, val: ":", ignoreCase: false, want: "\":\"", @@ -32995,38 +29232,38 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonExtraListElement182, + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonExtraListElement407, }, }, }, }, }, ¬Expr{ - pos: position{line: 1671, col: 35, offset: 54157}, + pos: position{line: 1663, col: 35, offset: 53873}, expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement185, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement410, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33035,16 +29272,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &anyMatcher{ - line: 1671, col: 40, offset: 54162, + line: 1663, col: 40, offset: 53878, }, }, }, @@ -33052,24 +29289,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1664, col: 5, offset: 53836}, + pos: position{line: 1656, col: 5, offset: 53552}, label: "separator", expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonExtraListElement194, + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonExtraListElement419, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, label: "separator", expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonExtraListElement197, + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonExtraListElement422, expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, + pos: position{line: 1668, col: 16, offset: 54005}, expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, + pos: position{line: 1668, col: 17, offset: 54006}, val: ":", ignoreCase: false, want: "\":\"", @@ -33078,62 +29315,62 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonExtraListElement200, + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonExtraListElement425, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1665, col: 5, offset: 53881}, + pos: position{line: 1657, col: 5, offset: 53597}, label: "description", expr: &choiceExpr{ - pos: position{line: 1687, col: 5, offset: 54596}, + pos: position{line: 1679, col: 5, offset: 54312}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, - run: (*parser).callonExtraListElement203, + pos: position{line: 1681, col: 9, offset: 54378}, + run: (*parser).callonExtraListElement428, expr: &seqExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, + pos: position{line: 1681, col: 9, offset: 54378}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, + pos: position{line: 1681, col: 9, offset: 54378}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement206, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement431, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement209, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement434, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33142,67 +29379,64 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 1690, col: 9, offset: 54681}, + pos: position{line: 1682, col: 9, offset: 54397}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonExtraListElement217, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonExtraListElement442, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement223, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement447, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement226, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement450, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33211,9 +29445,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -33226,35 +29460,35 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, - run: (*parser).callonExtraListElement233, + pos: position{line: 1688, col: 9, offset: 54526}, + run: (*parser).callonExtraListElement457, expr: &seqExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, + pos: position{line: 1688, col: 9, offset: 54526}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement235, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement459, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1697, col: 9, offset: 54883}, + pos: position{line: 1689, col: 9, offset: 54599}, label: "content", expr: &actionExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, - run: (*parser).callonExtraListElement239, + pos: position{line: 1689, col: 18, offset: 54608}, + run: (*parser).callonExtraListElement463, expr: &oneOrMoreExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, + pos: position{line: 1689, col: 18, offset: 54608}, expr: &charClassMatcher{ - pos: position{line: 1697, col: 18, offset: 54892}, + pos: position{line: 1689, col: 18, offset: 54608}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -33264,28 +29498,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement243, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement467, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33294,9 +29528,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -33316,519 +29550,769 @@ var g = &grammar{ }, }, }, + &ruleRefExpr{ + pos: position{line: 1498, col: 11, offset: 48524}, + name: "ListContinuation", + }, &actionExpr{ - pos: position{line: 1502, col: 13, offset: 48573}, - run: (*parser).callonExtraListElement250, + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonExtraListElement475, expr: &seqExpr{ - pos: position{line: 1502, col: 13, offset: 48573}, + pos: position{line: 2466, col: 22, offset: 79269}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2471, col: 31, offset: 79490}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2471, col: 36, offset: 79495}, + expr: &litMatcher{ + pos: position{line: 2471, col: 37, offset: 79496}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, &labeledExpr{ - pos: position{line: 1502, col: 13, offset: 48573}, - label: "attributes", - expr: &oneOrMoreExpr{ - pos: position{line: 1502, col: 24, offset: 48584}, - expr: &ruleRefExpr{ - pos: position{line: 1502, col: 25, offset: 48585}, - name: "BlockAttributes", + pos: position{line: 2466, col: 49, offset: 79296}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonExtraListElement481, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, }, }, }, - &labeledExpr{ - pos: position{line: 1503, col: 13, offset: 48616}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1503, col: 22, offset: 48625}, - alternatives: []interface{}{ + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement485, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1506, col: 5, offset: 48802}, + run: (*parser).callonExtraListElement492, + expr: &seqExpr{ + pos: position{line: 1506, col: 5, offset: 48802}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1506, col: 5, offset: 48802}, + expr: &actionExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonExtraListElement495, + expr: &seqExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 677, col: 21, offset: 21493}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement500, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement503, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1507, col: 5, offset: 48817}, + expr: &seqExpr{ + pos: position{line: 1537, col: 27, offset: 49643}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1537, col: 27, offset: 49643}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1537, col: 31, offset: 49647}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement514, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, &actionExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - run: (*parser).callonExtraListElement257, - expr: &seqExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - run: (*parser).callonExtraListElement260, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement516, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1508, col: 5, offset: 48845}, + expr: &actionExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + run: (*parser).callonExtraListElement522, + expr: &seqExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1578, col: 5, offset: 50862}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement525, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1578, col: 12, offset: 50869}, + label: "prefix", + expr: &choiceExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1580, col: 9, offset: 50932}, + run: (*parser).callonExtraListElement529, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 1580, col: 9, offset: 50932}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement263, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, &labeledExpr{ - pos: position{line: 1586, col: 12, offset: 51153}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - run: (*parser).callonExtraListElement267, - expr: &seqExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - run: (*parser).callonExtraListElement270, - expr: &oneOrMoreExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - expr: &litMatcher{ - pos: position{line: 1588, col: 17, offset: 51224}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1592, col: 9, offset: 51324}, - run: (*parser).callonExtraListElement273, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - run: (*parser).callonExtraListElement274, - expr: &seqExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - expr: &charClassMatcher{ - pos: position{line: 1611, col: 12, offset: 52042}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1611, col: 20, offset: 52050}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - run: (*parser).callonExtraListElement279, - expr: &seqExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1613, col: 14, offset: 52168}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1613, col: 21, offset: 52175}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - run: (*parser).callonExtraListElement283, - expr: &seqExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1615, col: 14, offset: 52296}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1615, col: 21, offset: 52303}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - run: (*parser).callonExtraListElement287, - expr: &seqExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - expr: &charClassMatcher{ - pos: position{line: 1617, col: 14, offset: 52424}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1617, col: 26, offset: 52436}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - run: (*parser).callonExtraListElement292, - expr: &seqExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - expr: &charClassMatcher{ - pos: position{line: 1619, col: 14, offset: 52557}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1619, col: 26, offset: 52569}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, + pos: position{line: 1580, col: 9, offset: 50932}, + label: "depth", + expr: &actionExpr{ + pos: position{line: 1580, col: 16, offset: 50939}, + run: (*parser).callonExtraListElement532, + expr: &oneOrMoreExpr{ + pos: position{line: 1580, col: 16, offset: 50939}, + expr: &litMatcher{ + pos: position{line: 1580, col: 17, offset: 50940}, + val: ".", + ignoreCase: false, + want: "\".\"", }, }, }, }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement297, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &andCodeExpr{ + pos: position{line: 1584, col: 9, offset: 51040}, + run: (*parser).callonExtraListElement535, }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 1580, col: 5, offset: 50977}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonExtraListElement301, + &actionExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + run: (*parser).callonExtraListElement536, expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1603, col: 11, offset: 51757}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonExtraListElement305, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, + &oneOrMoreExpr{ + pos: position{line: 1603, col: 11, offset: 51757}, + expr: &charClassMatcher{ + pos: position{line: 1603, col: 12, offset: 51758}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement309, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, + &litMatcher{ + pos: position{line: 1603, col: 20, offset: 51766}, + val: ".", + ignoreCase: false, + want: "\".\"", }, }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - run: (*parser).callonExtraListElement316, - expr: &seqExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - label: "prefix", - expr: &actionExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - run: (*parser).callonExtraListElement319, + &actionExpr{ + pos: position{line: 1605, col: 13, offset: 51883}, + run: (*parser).callonExtraListElement541, expr: &seqExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 1605, col: 13, offset: 51883}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement322, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &charClassMatcher{ + pos: position{line: 1605, col: 14, offset: 51884}, + val: "[a-z]", + ranges: []rune{'a', 'z'}, + ignoreCase: false, + inverted: false, }, - &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53120}, - label: "style", - expr: &actionExpr{ - pos: position{line: 1638, col: 9, offset: 53136}, - run: (*parser).callonExtraListElement325, - expr: &choiceExpr{ - pos: position{line: 1638, col: 10, offset: 53137}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 1638, col: 11, offset: 53138}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - &oneOrMoreExpr{ - pos: position{line: 1638, col: 18, offset: 53145}, - expr: &litMatcher{ - pos: position{line: 1638, col: 19, offset: 53146}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 1605, col: 21, offset: 51891}, + val: ".", + ignoreCase: false, + want: "\".\"", }, - &andCodeExpr{ - pos: position{line: 1641, col: 7, offset: 53236}, - run: (*parser).callonExtraListElement330, + }, + }, + }, + &actionExpr{ + pos: position{line: 1607, col: 13, offset: 52011}, + run: (*parser).callonExtraListElement545, + expr: &seqExpr{ + pos: position{line: 1607, col: 13, offset: 52011}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 1607, col: 14, offset: 52012}, + val: "[A-Z]", + ranges: []rune{'A', 'Z'}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement331, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 1607, col: 21, offset: 52019}, + val: ".", + ignoreCase: false, + want: "\".\"", }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 1630, col: 5, offset: 52876}, - label: "checkstyle", - expr: &zeroOrOneExpr{ - pos: position{line: 1630, col: 16, offset: 52887}, - expr: &actionExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - run: (*parser).callonExtraListElement336, - expr: &seqExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - expr: &litMatcher{ - pos: position{line: 1651, col: 6, offset: 53502}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 1651, col: 10, offset: 53506}, - label: "style", - expr: &choiceExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, - run: (*parser).callonExtraListElement342, - expr: &litMatcher{ - pos: position{line: 1652, col: 7, offset: 53520}, - val: "[ ]", - ignoreCase: false, - want: "\"[ ]\"", - }, - }, - &actionExpr{ - pos: position{line: 1653, col: 7, offset: 53565}, - run: (*parser).callonExtraListElement344, - expr: &litMatcher{ - pos: position{line: 1653, col: 7, offset: 53565}, - val: "[*]", - ignoreCase: false, - want: "\"[*]\"", - }, - }, - &actionExpr{ - pos: position{line: 1654, col: 7, offset: 53608}, - run: (*parser).callonExtraListElement346, - expr: &litMatcher{ - pos: position{line: 1654, col: 7, offset: 53608}, - val: "[x]", - ignoreCase: false, - want: "\"[x]\"", - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement348, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &actionExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + run: (*parser).callonExtraListElement549, + expr: &seqExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 1609, col: 13, offset: 52139}, + expr: &charClassMatcher{ + pos: position{line: 1609, col: 14, offset: 52140}, + val: "[ivxdlcm]", + chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, + ignoreCase: false, + inverted: false, }, }, + &litMatcher{ + pos: position{line: 1609, col: 26, offset: 52152}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 1631, col: 5, offset: 52926}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonExtraListElement352, + &actionExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + run: (*parser).callonExtraListElement554, expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 1611, col: 13, offset: 52272}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, + &oneOrMoreExpr{ + pos: position{line: 1611, col: 13, offset: 52272}, + expr: &charClassMatcher{ + pos: position{line: 1611, col: 14, offset: 52273}, + val: "[IVXDLCM]", + chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, + ignoreCase: false, + inverted: false, + }, + }, + &litMatcher{ + pos: position{line: 1611, col: 26, offset: 52285}, + val: ")", + ignoreCase: false, + want: "\")\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement559, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1509, col: 5, offset: 48875}, + expr: &actionExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + run: (*parser).callonExtraListElement563, + expr: &seqExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1628, col: 5, offset: 52824}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement566, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1629, col: 5, offset: 52836}, + label: "style", + expr: &actionExpr{ + pos: position{line: 1630, col: 9, offset: 52852}, + run: (*parser).callonExtraListElement569, + expr: &choiceExpr{ + pos: position{line: 1630, col: 10, offset: 52853}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 1630, col: 11, offset: 52854}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + &oneOrMoreExpr{ + pos: position{line: 1630, col: 18, offset: 52861}, + expr: &litMatcher{ + pos: position{line: 1630, col: 19, offset: 52862}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1633, col: 7, offset: 52952}, + run: (*parser).callonExtraListElement574, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement575, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1510, col: 5, offset: 48907}, + expr: &actionExpr{ + pos: position{line: 1717, col: 5, offset: 55356}, + run: (*parser).callonExtraListElement579, + expr: &seqExpr{ + pos: position{line: 1717, col: 5, offset: 55356}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1717, col: 5, offset: 55356}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1717, col: 9, offset: 55360}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1717, col: 14, offset: 55365}, + run: (*parser).callonExtraListElement583, + expr: &oneOrMoreExpr{ + pos: position{line: 1717, col: 14, offset: 55365}, + expr: &charClassMatcher{ + pos: position{line: 1717, col: 14, offset: 55365}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1717, col: 62, offset: 55413}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonExtraListElement587, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1511, col: 5, offset: 48937}, + expr: &seqExpr{ + pos: position{line: 1511, col: 7, offset: 48939}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 1663, col: 5, offset: 53843}, + run: (*parser).callonExtraListElement592, + expr: &oneOrMoreExpr{ + pos: position{line: 1663, col: 5, offset: 53843}, + expr: &seqExpr{ + pos: position{line: 1663, col: 6, offset: 53844}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1663, col: 6, offset: 53844}, + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonExtraListElement596, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonExtraListElement356, + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonExtraListElement599, expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", ignoreCase: false, - inverted: true, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonExtraListElement602, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1663, col: 35, offset: 53873}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement605, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1663, col: 40, offset: 53878, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonExtraListElement613, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonExtraListElement616, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonExtraListElement619, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1512, col: 5, offset: 48995}, + expr: &actionExpr{ + pos: position{line: 724, col: 5, offset: 23039}, + run: (*parser).callonExtraListElement621, + expr: &seqExpr{ + pos: position{line: 724, col: 5, offset: 23039}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 724, col: 5, offset: 23039}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + &labeledExpr{ + pos: position{line: 725, col: 5, offset: 23069}, + label: "delimiter", + expr: &choiceExpr{ + pos: position{line: 726, col: 9, offset: 23089}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonExtraListElement627, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonExtraListElement630, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, }, }, }, }, }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement636, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement360, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement639, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33837,9 +30321,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -33847,126 +30331,162 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - run: (*parser).callonExtraListElement367, - expr: &seqExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, - run: (*parser).callonExtraListElement370, + &actionExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonExtraListElement646, expr: &seqExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1725, col: 5, offset: 55645}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, &labeledExpr{ - pos: position{line: 1725, col: 9, offset: 55649}, - label: "ref", + pos: position{line: 747, col: 5, offset: 23829}, + label: "delimiter", expr: &actionExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - run: (*parser).callonExtraListElement374, - expr: &oneOrMoreExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - expr: &charClassMatcher{ - pos: position{line: 1725, col: 14, offset: 55654}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonExtraListElement649, + expr: &seqExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 747, col: 16, offset: 23840}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 747, col: 23, offset: 23847}, + expr: &litMatcher{ + pos: position{line: 747, col: 23, offset: 23847}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 1725, col: 62, offset: 55702}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement378, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + &zeroOrMoreExpr{ + pos: position{line: 749, col: 8, offset: 23931}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement655, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement658, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 55484}, - label: "description", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonExtraListElement382, + &actionExpr{ + pos: position{line: 760, col: 26, offset: 24317}, + run: (*parser).callonExtraListElement665, expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, + pos: position{line: 760, col: 26, offset: 24317}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 760, col: 26, offset: 24317}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonExtraListElement386, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + pos: position{line: 760, col: 32, offset: 24323}, + label: "language", + expr: &actionExpr{ + pos: position{line: 764, col: 13, offset: 24453}, + run: (*parser).callonExtraListElement669, + expr: &oneOrMoreExpr{ + pos: position{line: 764, col: 14, offset: 24454}, + expr: &charClassMatcher{ + pos: position{line: 764, col: 14, offset: 24454}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, }, }, }, }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 52, offset: 24343}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement673, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement390, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement676, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33975,9 +30495,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -33985,359 +30505,535 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - run: (*parser).callonExtraListElement397, - expr: &seqExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - label: "term", - expr: &actionExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - run: (*parser).callonExtraListElement400, - expr: &oneOrMoreExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - expr: &seqExpr{ - pos: position{line: 1671, col: 6, offset: 54128}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1671, col: 6, offset: 54128}, - expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonExtraListElement404, - expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonExtraListElement407, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonExtraListElement410, + &actionExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonExtraListElement683, + expr: &seqExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonExtraListElement686, + expr: &seqExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 754, col: 16, offset: 24087}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 754, col: 22, offset: 24093}, + expr: &litMatcher{ + pos: position{line: 754, col: 22, offset: 24093}, + val: "`", + ignoreCase: false, + want: "\"`\"", }, }, }, }, }, - ¬Expr{ - pos: position{line: 1671, col: 35, offset: 54157}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement413, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + }, + &zeroOrMoreExpr{ + pos: position{line: 756, col: 8, offset: 24177}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement692, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement695, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - &anyMatcher{ - line: 1671, col: 40, offset: 54162, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 1664, col: 5, offset: 53836}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonExtraListElement422, + &actionExpr{ + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonExtraListElement702, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", + pos: position{line: 769, col: 5, offset: 24613}, + label: "delimiter", expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonExtraListElement425, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", - ignoreCase: false, - want: "\":\"", + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonExtraListElement705, + expr: &seqExpr{ + pos: position{line: 769, col: 16, offset: 24624}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 769, col: 16, offset: 24624}, + val: "----", + ignoreCase: false, + want: "\"----\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 769, col: 23, offset: 24631}, + expr: &litMatcher{ + pos: position{line: 769, col: 23, offset: 24631}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonExtraListElement428, + &zeroOrMoreExpr{ + pos: position{line: 771, col: 8, offset: 24715}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement711, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1665, col: 5, offset: 53881}, - label: "description", - expr: &choiceExpr{ - pos: position{line: 1687, col: 5, offset: 54596}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, - run: (*parser).callonExtraListElement431, - expr: &seqExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement434, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement714, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonExtraListElement721, + expr: &seqExpr{ + pos: position{line: 783, col: 5, offset: 25089}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 783, col: 5, offset: 25089}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonExtraListElement724, + expr: &seqExpr{ + pos: position{line: 783, col: 16, offset: 25100}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 783, col: 16, offset: 25100}, + val: "....", ignoreCase: false, - inverted: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 783, col: 23, offset: 25107}, + expr: &litMatcher{ + pos: position{line: 783, col: 23, offset: 25107}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement437, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 785, col: 8, offset: 25191}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement730, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement733, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonExtraListElement740, + expr: &seqExpr{ + pos: position{line: 790, col: 5, offset: 25341}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 790, col: 5, offset: 25341}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonExtraListElement743, + expr: &seqExpr{ + pos: position{line: 790, col: 16, offset: 25352}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 790, col: 16, offset: 25352}, + val: "++++", + ignoreCase: false, + want: "\"++++\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 790, col: 23, offset: 25359}, + expr: &litMatcher{ + pos: position{line: 790, col: 23, offset: 25359}, + val: "+", + ignoreCase: false, + want: "\"+\"", }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1690, col: 9, offset: 54681}, - expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonExtraListElement445, - expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement451, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement454, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 792, col: 8, offset: 25443}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement749, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement752, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, - &actionExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, - run: (*parser).callonExtraListElement461, - expr: &seqExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement463, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + }, + &actionExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonExtraListElement759, + expr: &seqExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonExtraListElement762, + expr: &seqExpr{ + pos: position{line: 797, col: 16, offset: 25602}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 797, col: 16, offset: 25602}, + val: "____", ignoreCase: false, - inverted: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 797, col: 23, offset: 25609}, + expr: &litMatcher{ + pos: position{line: 797, col: 23, offset: 25609}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, }, }, }, - &labeledExpr{ - pos: position{line: 1697, col: 9, offset: 54883}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, - run: (*parser).callonExtraListElement467, - expr: &oneOrMoreExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, - expr: &charClassMatcher{ - pos: position{line: 1697, col: 18, offset: 54892}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 799, col: 8, offset: 25693}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement768, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement771, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: true, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement471, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonExtraListElement778, + expr: &seqExpr{ + pos: position{line: 804, col: 5, offset: 25837}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 804, col: 5, offset: 25837}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonExtraListElement781, + expr: &seqExpr{ + pos: position{line: 804, col: 16, offset: 25848}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 804, col: 16, offset: 25848}, + val: "****", + ignoreCase: false, + want: "\"****\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 804, col: 23, offset: 25855}, + expr: &litMatcher{ + pos: position{line: 804, col: 23, offset: 25855}, + val: "*", + ignoreCase: false, + want: "\"*\"", }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 806, col: 8, offset: 25939}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonExtraListElement787, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement790, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -34350,44 +31046,16 @@ var g = &grammar{ }, }, }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1506, col: 11, offset: 48810}, - name: "ListContinuation", - }, - &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonExtraListElement479, - expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, - expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - }, &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, + pos: position{line: 1513, col: 5, offset: 49015}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonExtraListElement485, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonExtraListElement798, + expr: &oneOrMoreExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -34397,28 +31065,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement489, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonExtraListElement802, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34427,9 +31095,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -34437,184 +31105,208 @@ var g = &grammar{ }, }, }, + }, + }, + }, + }, + }, + }, + }, + { + name: "ListContinuation", + pos: position{line: 1529, col: 1, offset: 49406}, + expr: &actionExpr{ + pos: position{line: 1530, col: 5, offset: 49431}, + run: (*parser).callonListContinuation1, + expr: &seqExpr{ + pos: position{line: 1530, col: 5, offset: 49431}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1530, col: 5, offset: 49431}, + label: "offset", + expr: &zeroOrMoreExpr{ + pos: position{line: 1530, col: 12, offset: 49438}, + expr: &seqExpr{ + pos: position{line: 1530, col: 13, offset: 49439}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1530, col: 13, offset: 49439}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuation7, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuation9, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1537, col: 27, offset: 49643}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1537, col: 31, offset: 49647}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuation16, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuation18, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1532, col: 5, offset: 49488}, + label: "element", + expr: &zeroOrOneExpr{ + pos: position{line: 1532, col: 13, offset: 49496}, + expr: &ruleRefExpr{ + pos: position{line: 1532, col: 13, offset: 49496}, + name: "ListContinuationElement", + }, + }, + }, + }, + }, + }, + }, + { + name: "ListContinuationElement", + pos: position{line: 1539, col: 1, offset: 49663}, + expr: &actionExpr{ + pos: position{line: 1540, col: 5, offset: 49734}, + run: (*parser).callonListContinuationElement1, + expr: &seqExpr{ + pos: position{line: 1540, col: 5, offset: 49734}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 1541, col: 5, offset: 49762}, + expr: &choiceExpr{ + pos: position{line: 1478, col: 5, offset: 47720}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1514, col: 5, offset: 49088}, - run: (*parser).callonExtraListElement496, + pos: position{line: 1571, col: 5, offset: 50654}, + run: (*parser).callonListContinuationElement7, expr: &seqExpr{ - pos: position{line: 1514, col: 5, offset: 49088}, + pos: position{line: 1571, col: 5, offset: 50654}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1514, col: 5, offset: 49088}, + &labeledExpr{ + pos: position{line: 1571, col: 5, offset: 50654}, + label: "prefix", expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonExtraListElement499, + pos: position{line: 1578, col: 5, offset: 50862}, + run: (*parser).callonListContinuationElement10, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement505, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement508, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1515, col: 5, offset: 49103}, - expr: &seqExpr{ - pos: position{line: 1545, col: 27, offset: 49929}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1545, col: 27, offset: 49929}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1545, col: 31, offset: 49933}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement519, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement521, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1516, col: 5, offset: 49131}, - expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - run: (*parser).callonExtraListElement527, - expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 1578, col: 5, offset: 50862}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 1578, col: 5, offset: 50862}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement530, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement13, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1586, col: 12, offset: 51153}, + pos: position{line: 1578, col: 12, offset: 50869}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - run: (*parser).callonExtraListElement534, + pos: position{line: 1580, col: 9, offset: 50932}, + run: (*parser).callonListContinuationElement17, expr: &seqExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, label: "depth", expr: &actionExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - run: (*parser).callonExtraListElement537, + pos: position{line: 1580, col: 16, offset: 50939}, + run: (*parser).callonListContinuationElement20, expr: &oneOrMoreExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, + pos: position{line: 1580, col: 16, offset: 50939}, expr: &litMatcher{ - pos: position{line: 1588, col: 17, offset: 51224}, + pos: position{line: 1580, col: 17, offset: 50940}, val: ".", ignoreCase: false, want: "\".\"", @@ -34623,22 +31315,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1592, col: 9, offset: 51324}, - run: (*parser).callonExtraListElement540, + pos: position{line: 1584, col: 9, offset: 51040}, + run: (*parser).callonListContinuationElement23, }, }, }, }, &actionExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - run: (*parser).callonExtraListElement541, + pos: position{line: 1603, col: 11, offset: 51757}, + run: (*parser).callonListContinuationElement24, expr: &seqExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, + pos: position{line: 1603, col: 11, offset: 51757}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, + pos: position{line: 1603, col: 11, offset: 51757}, expr: &charClassMatcher{ - pos: position{line: 1611, col: 12, offset: 52042}, + pos: position{line: 1603, col: 12, offset: 51758}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -34646,7 +31338,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1611, col: 20, offset: 52050}, + pos: position{line: 1603, col: 20, offset: 51766}, val: ".", ignoreCase: false, want: "\".\"", @@ -34655,20 +31347,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - run: (*parser).callonExtraListElement546, + pos: position{line: 1605, col: 13, offset: 51883}, + run: (*parser).callonListContinuationElement29, expr: &seqExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, + pos: position{line: 1605, col: 13, offset: 51883}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1613, col: 14, offset: 52168}, + pos: position{line: 1605, col: 14, offset: 51884}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1613, col: 21, offset: 52175}, + pos: position{line: 1605, col: 21, offset: 51891}, val: ".", ignoreCase: false, want: "\".\"", @@ -34677,20 +31369,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - run: (*parser).callonExtraListElement550, + pos: position{line: 1607, col: 13, offset: 52011}, + run: (*parser).callonListContinuationElement33, expr: &seqExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, + pos: position{line: 1607, col: 13, offset: 52011}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1615, col: 14, offset: 52296}, + pos: position{line: 1607, col: 14, offset: 52012}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1615, col: 21, offset: 52303}, + pos: position{line: 1607, col: 21, offset: 52019}, val: ".", ignoreCase: false, want: "\".\"", @@ -34699,15 +31391,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - run: (*parser).callonExtraListElement554, + pos: position{line: 1609, col: 13, offset: 52139}, + run: (*parser).callonListContinuationElement37, expr: &seqExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, + pos: position{line: 1609, col: 13, offset: 52139}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, + pos: position{line: 1609, col: 13, offset: 52139}, expr: &charClassMatcher{ - pos: position{line: 1617, col: 14, offset: 52424}, + pos: position{line: 1609, col: 14, offset: 52140}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -34715,7 +31407,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1617, col: 26, offset: 52436}, + pos: position{line: 1609, col: 26, offset: 52152}, val: ")", ignoreCase: false, want: "\")\"", @@ -34724,15 +31416,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - run: (*parser).callonExtraListElement559, + pos: position{line: 1611, col: 13, offset: 52272}, + run: (*parser).callonListContinuationElement42, expr: &seqExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, + pos: position{line: 1611, col: 13, offset: 52272}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, + pos: position{line: 1611, col: 13, offset: 52272}, expr: &charClassMatcher{ - pos: position{line: 1619, col: 14, offset: 52557}, + pos: position{line: 1611, col: 14, offset: 52273}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -34740,7 +31432,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1619, col: 26, offset: 52569}, + pos: position{line: 1611, col: 26, offset: 52285}, val: ")", ignoreCase: false, want: "\")\"", @@ -34752,14 +31444,14 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement564, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement47, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -34769,47 +31461,129 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 1517, col: 5, offset: 49161}, + &labeledExpr{ + pos: position{line: 1572, col: 5, offset: 50693}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonListContinuationElement51, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonListContinuationElement55, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement59, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + run: (*parser).callonListContinuationElement66, + expr: &seqExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1621, col: 5, offset: 52551}, + label: "prefix", expr: &actionExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - run: (*parser).callonExtraListElement568, + pos: position{line: 1628, col: 5, offset: 52824}, + run: (*parser).callonListContinuationElement69, expr: &seqExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 1628, col: 5, offset: 52824}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 1628, col: 5, offset: 52824}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement571, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement72, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53120}, + pos: position{line: 1629, col: 5, offset: 52836}, label: "style", expr: &actionExpr{ - pos: position{line: 1638, col: 9, offset: 53136}, - run: (*parser).callonExtraListElement574, + pos: position{line: 1630, col: 9, offset: 52852}, + run: (*parser).callonListContinuationElement75, expr: &choiceExpr{ - pos: position{line: 1638, col: 10, offset: 53137}, + pos: position{line: 1630, col: 10, offset: 52853}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 1638, col: 11, offset: 53138}, + pos: position{line: 1630, col: 11, offset: 52854}, val: "-", ignoreCase: false, want: "\"-\"", }, &oneOrMoreExpr{ - pos: position{line: 1638, col: 18, offset: 53145}, + pos: position{line: 1630, col: 18, offset: 52861}, expr: &litMatcher{ - pos: position{line: 1638, col: 19, offset: 53146}, + pos: position{line: 1630, col: 19, offset: 52862}, val: "*", ignoreCase: false, want: "\"*\"", @@ -34820,18 +31594,18 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1641, col: 7, offset: 53236}, - run: (*parser).callonExtraListElement579, + pos: position{line: 1633, col: 7, offset: 52952}, + run: (*parser).callonListContinuationElement80, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement580, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement81, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -34841,30 +31615,190 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 1518, col: 5, offset: 49193}, + &labeledExpr{ + pos: position{line: 1622, col: 5, offset: 52592}, + label: "checkstyle", + expr: &zeroOrOneExpr{ + pos: position{line: 1622, col: 16, offset: 52603}, + expr: &actionExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + run: (*parser).callonListContinuationElement86, + expr: &seqExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 1643, col: 5, offset: 53217}, + expr: &litMatcher{ + pos: position{line: 1643, col: 6, offset: 53218}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 1643, col: 10, offset: 53222}, + label: "style", + expr: &choiceExpr{ + pos: position{line: 1644, col: 7, offset: 53236}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1644, col: 7, offset: 53236}, + run: (*parser).callonListContinuationElement92, + expr: &litMatcher{ + pos: position{line: 1644, col: 7, offset: 53236}, + val: "[ ]", + ignoreCase: false, + want: "\"[ ]\"", + }, + }, + &actionExpr{ + pos: position{line: 1645, col: 7, offset: 53281}, + run: (*parser).callonListContinuationElement94, + expr: &litMatcher{ + pos: position{line: 1645, col: 7, offset: 53281}, + val: "[*]", + ignoreCase: false, + want: "\"[*]\"", + }, + }, + &actionExpr{ + pos: position{line: 1646, col: 7, offset: 53324}, + run: (*parser).callonListContinuationElement96, + expr: &litMatcher{ + pos: position{line: 1646, col: 7, offset: 53324}, + val: "[x]", + ignoreCase: false, + want: "\"[x]\"", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement98, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1623, col: 5, offset: 52642}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonListContinuationElement102, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonListContinuationElement106, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement110, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1711, col: 5, offset: 55159}, + run: (*parser).callonListContinuationElement117, + expr: &seqExpr{ + pos: position{line: 1711, col: 5, offset: 55159}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1711, col: 5, offset: 55159}, + label: "ref", expr: &actionExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, - run: (*parser).callonExtraListElement584, + pos: position{line: 1717, col: 5, offset: 55356}, + run: (*parser).callonListContinuationElement120, expr: &seqExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 1717, col: 5, offset: 55356}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 1717, col: 5, offset: 55356}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1725, col: 9, offset: 55649}, + pos: position{line: 1717, col: 9, offset: 55360}, label: "ref", expr: &actionExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - run: (*parser).callonExtraListElement588, + pos: position{line: 1717, col: 14, offset: 55365}, + run: (*parser).callonListContinuationElement124, expr: &oneOrMoreExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, + pos: position{line: 1717, col: 14, offset: 55365}, expr: &charClassMatcher{ - pos: position{line: 1725, col: 14, offset: 55654}, + pos: position{line: 1717, col: 14, offset: 55365}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -34874,20 +31808,20 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1725, col: 62, offset: 55702}, + pos: position{line: 1717, col: 62, offset: 55413}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonExtraListElement592, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement128, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -34897,126 +31831,71 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 1519, col: 5, offset: 49223}, - expr: &seqExpr{ - pos: position{line: 1519, col: 7, offset: 49225}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - run: (*parser).callonExtraListElement597, - expr: &oneOrMoreExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - expr: &seqExpr{ - pos: position{line: 1671, col: 6, offset: 54128}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1671, col: 6, offset: 54128}, - expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonExtraListElement601, - expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonExtraListElement604, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonExtraListElement607, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1671, col: 35, offset: 54157}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement610, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, + &labeledExpr{ + pos: position{line: 1712, col: 5, offset: 55195}, + label: "description", + expr: &actionExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + run: (*parser).callonListContinuationElement132, + expr: &seqExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1519, col: 5, offset: 49160}, + label: "rawLines", + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 14, offset: 49169}, + expr: &actionExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + run: (*parser).callonListContinuationElement136, + expr: &oneOrMoreExpr{ + pos: position{line: 1519, col: 15, offset: 49170}, + expr: &charClassMatcher{ + pos: position{line: 1519, col: 15, offset: 49170}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, - &anyMatcher{ - line: 1671, col: 40, offset: 54162, - }, }, }, }, - }, - &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonExtraListElement618, - expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonExtraListElement621, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement140, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - want: "\":\"", + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonExtraListElement624, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, @@ -35024,453 +31903,257 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 1520, col: 5, offset: 49281}, + }, + }, + }, + &actionExpr{ + pos: position{line: 1655, col: 5, offset: 53517}, + run: (*parser).callonListContinuationElement147, + expr: &seqExpr{ + pos: position{line: 1655, col: 5, offset: 53517}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1655, col: 5, offset: 53517}, + label: "term", expr: &actionExpr{ - pos: position{line: 723, col: 5, offset: 23016}, - run: (*parser).callonExtraListElement626, - expr: &seqExpr{ - pos: position{line: 723, col: 5, offset: 23016}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 723, col: 5, offset: 23016}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &labeledExpr{ - pos: position{line: 724, col: 5, offset: 23046}, - label: "delimiter", - expr: &choiceExpr{ - pos: position{line: 725, col: 9, offset: 23066}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonExtraListElement632, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonExtraListElement635, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement641, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 1663, col: 5, offset: 53843}, + run: (*parser).callonListContinuationElement150, + expr: &oneOrMoreExpr{ + pos: position{line: 1663, col: 5, offset: 53843}, + expr: &seqExpr{ + pos: position{line: 1663, col: 6, offset: 53844}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1663, col: 6, offset: 53844}, + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonListContinuationElement154, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonListContinuationElement157, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement644, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonListContinuationElement160, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1663, col: 35, offset: 53873}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement163, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, - &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonExtraListElement651, - expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonExtraListElement654, - expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, - val: "====", - ignoreCase: false, - want: "\"====\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, - expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement660, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement663, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, + }, + }, + &anyMatcher{ + line: 1663, col: 40, offset: 53878, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1656, col: 5, offset: 53552}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonListContinuationElement172, + expr: &seqExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1668, col: 5, offset: 53994}, + label: "separator", + expr: &actionExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonListContinuationElement175, + expr: &oneOrMoreExpr{ + pos: position{line: 1668, col: 16, offset: 54005}, + expr: &litMatcher{ + pos: position{line: 1668, col: 17, offset: 54006}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonListContinuationElement178, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1657, col: 5, offset: 53597}, + label: "description", + expr: &choiceExpr{ + pos: position{line: 1679, col: 5, offset: 54312}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + run: (*parser).callonListContinuationElement181, + expr: &seqExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1681, col: 9, offset: 54378}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement184, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, - &actionExpr{ - pos: position{line: 759, col: 26, offset: 24294}, - run: (*parser).callonExtraListElement670, - expr: &seqExpr{ - pos: position{line: 759, col: 26, offset: 24294}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 759, col: 26, offset: 24294}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &labeledExpr{ - pos: position{line: 759, col: 32, offset: 24300}, - label: "language", - expr: &actionExpr{ - pos: position{line: 763, col: 13, offset: 24430}, - run: (*parser).callonExtraListElement674, - expr: &oneOrMoreExpr{ - pos: position{line: 763, col: 14, offset: 24431}, - expr: &charClassMatcher{ - pos: position{line: 763, col: 14, offset: 24431}, - val: "[^\\r\\n` ]", - chars: []rune{'\r', '\n', '`', ' '}, - ignoreCase: false, - inverted: true, - }, - }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement187, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &zeroOrMoreExpr{ - pos: position{line: 759, col: 52, offset: 24320}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement678, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement681, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonExtraListElement688, - expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonExtraListElement691, - expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, - expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement697, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement700, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, - &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonExtraListElement707, + }, + &zeroOrMoreExpr{ + pos: position{line: 1682, col: 9, offset: 54397}, + expr: &actionExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement195, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonExtraListElement710, - expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, - val: "----", - ignoreCase: false, - want: "\"----\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, - expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - }, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement716, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement200, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement719, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement203, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35479,9 +32162,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -35489,361 +32172,84 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonExtraListElement726, - expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonExtraListElement729, - expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, - val: "....", - ignoreCase: false, - want: "\"....\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, - expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement735, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement738, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1688, col: 9, offset: 54526}, + run: (*parser).callonListContinuationElement210, + expr: &seqExpr{ + pos: position{line: 1688, col: 9, offset: 54526}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement212, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, - &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonExtraListElement745, - expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonExtraListElement748, - expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, - val: "++++", - ignoreCase: false, - want: "\"++++\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, - expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement754, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement757, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, + }, + &labeledExpr{ + pos: position{line: 1689, col: 9, offset: 54599}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1689, col: 18, offset: 54608}, + run: (*parser).callonListContinuationElement216, + expr: &oneOrMoreExpr{ + pos: position{line: 1689, col: 18, offset: 54608}, + expr: &charClassMatcher{ + pos: position{line: 1689, col: 18, offset: 54608}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, - &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonExtraListElement764, - expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonExtraListElement767, - expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, - val: "____", - ignoreCase: false, - want: "\"____\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, - expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement220, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement773, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement776, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonExtraListElement783, - expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonExtraListElement786, - expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, - val: "****", - ignoreCase: false, - want: "\"****\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, - expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonExtraListElement792, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement795, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -35852,47 +32258,78 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 1521, col: 5, offset: 49301}, - label: "content", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1542, col: 5, offset: 49779}, + label: "attributes", + expr: &zeroOrOneExpr{ + pos: position{line: 1542, col: 16, offset: 49790}, + expr: &ruleRefExpr{ + pos: position{line: 1542, col: 17, offset: 49791}, + name: "BlockAttributes", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1543, col: 5, offset: 49813}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1544, col: 9, offset: 49831}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement232, + expr: &seqExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonExtraListElement803, - expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement237, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonExtraListElement807, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement240, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35901,9 +32338,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -35911,590 +32348,308 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - }, - }, - }, - { - name: "ListContinuation", - pos: position{line: 1537, col: 1, offset: 49692}, - expr: &actionExpr{ - pos: position{line: 1538, col: 5, offset: 49717}, - run: (*parser).callonListContinuation1, - expr: &seqExpr{ - pos: position{line: 1538, col: 5, offset: 49717}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1538, col: 5, offset: 49717}, - label: "offset", - expr: &zeroOrMoreExpr{ - pos: position{line: 1538, col: 12, offset: 49724}, - expr: &seqExpr{ - pos: position{line: 1538, col: 13, offset: 49725}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1538, col: 13, offset: 49725}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuation7, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuation9, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1545, col: 27, offset: 49929}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1545, col: 31, offset: 49933}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuation16, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuation18, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &ruleRefExpr{ + pos: position{line: 1545, col: 11, offset: 49851}, + name: "AttributeDeclaration", }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1540, col: 5, offset: 49774}, - label: "element", - expr: &zeroOrOneExpr{ - pos: position{line: 1540, col: 13, offset: 49782}, - expr: &ruleRefExpr{ - pos: position{line: 1540, col: 13, offset: 49782}, - name: "ListContinuationElement", - }, - }, - }, - }, - }, - }, - }, - { - name: "ListContinuationElement", - pos: position{line: 1547, col: 1, offset: 49949}, - expr: &actionExpr{ - pos: position{line: 1548, col: 5, offset: 50020}, - run: (*parser).callonListContinuationElement1, - expr: &seqExpr{ - pos: position{line: 1548, col: 5, offset: 50020}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1548, col: 5, offset: 50020}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - ¬Expr{ - pos: position{line: 1549, col: 5, offset: 50046}, - expr: &choiceExpr{ - pos: position{line: 1486, col: 5, offset: 48008}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - run: (*parser).callonListContinuationElement8, + pos: position{line: 360, col: 19, offset: 10911}, + run: (*parser).callonListContinuationElement248, expr: &seqExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, + pos: position{line: 360, col: 19, offset: 10911}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 360, col: 19, offset: 10911}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, &labeledExpr{ - pos: position{line: 1579, col: 5, offset: 50938}, - label: "prefix", + pos: position{line: 360, col: 24, offset: 10916}, + label: "name", expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - run: (*parser).callonListContinuationElement11, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonListContinuationElement252, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement14, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1586, col: 12, offset: 51153}, - label: "prefix", - expr: &choiceExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - run: (*parser).callonListContinuationElement18, - expr: &seqExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - label: "depth", - expr: &actionExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - run: (*parser).callonListContinuationElement21, - expr: &oneOrMoreExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - expr: &litMatcher{ - pos: position{line: 1588, col: 17, offset: 51224}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1592, col: 9, offset: 51324}, - run: (*parser).callonListContinuationElement24, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - run: (*parser).callonListContinuationElement25, - expr: &seqExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - expr: &charClassMatcher{ - pos: position{line: 1611, col: 12, offset: 52042}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1611, col: 20, offset: 52050}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - run: (*parser).callonListContinuationElement30, - expr: &seqExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1613, col: 14, offset: 52168}, - val: "[a-z]", - ranges: []rune{'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1613, col: 21, offset: 52175}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - run: (*parser).callonListContinuationElement34, - expr: &seqExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1615, col: 14, offset: 52296}, - val: "[A-Z]", - ranges: []rune{'A', 'Z'}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 1615, col: 21, offset: 52303}, - val: ".", - ignoreCase: false, - want: "\".\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - run: (*parser).callonListContinuationElement38, - expr: &seqExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - expr: &charClassMatcher{ - pos: position{line: 1617, col: 14, offset: 52424}, - val: "[ivxdlcm]", - chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1617, col: 26, offset: 52436}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - run: (*parser).callonListContinuationElement43, - expr: &seqExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - expr: &charClassMatcher{ - pos: position{line: 1619, col: 14, offset: 52557}, - val: "[IVXDLCM]", - chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1619, col: 26, offset: 52569}, - val: ")", - ignoreCase: false, - want: "\")\"", - }, - }, - }, - }, - }, - }, + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement48, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, - &labeledExpr{ - pos: position{line: 1580, col: 5, offset: 50977}, - label: "content", + &litMatcher{ + pos: position{line: 360, col: 45, offset: 10937}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 360, col: 49, offset: 10941}, expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonListContinuationElement52, - expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonListContinuationElement56, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement259, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement262, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement60, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, &actionExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - run: (*parser).callonListContinuationElement67, + pos: position{line: 362, col: 9, offset: 11032}, + run: (*parser).callonListContinuationElement269, expr: &seqExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, + pos: position{line: 362, col: 9, offset: 11032}, exprs: []interface{}{ + &litMatcher{ + pos: position{line: 362, col: 9, offset: 11032}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, &labeledExpr{ - pos: position{line: 1629, col: 5, offset: 52835}, - label: "prefix", + pos: position{line: 362, col: 13, offset: 11036}, + label: "name", expr: &actionExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - run: (*parser).callonListContinuationElement70, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonListContinuationElement273, expr: &seqExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, &zeroOrMoreExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement73, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, - &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53120}, - label: "style", - expr: &actionExpr{ - pos: position{line: 1638, col: 9, offset: 53136}, - run: (*parser).callonListContinuationElement76, - expr: &choiceExpr{ - pos: position{line: 1638, col: 10, offset: 53137}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 1638, col: 11, offset: 53138}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - &oneOrMoreExpr{ - pos: position{line: 1638, col: 18, offset: 53145}, - expr: &litMatcher{ - pos: position{line: 1638, col: 19, offset: 53146}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 362, col: 34, offset: 11057}, + val: "!:", + ignoreCase: false, + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 362, col: 39, offset: 11062}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement280, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement283, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &andCodeExpr{ - pos: position{line: 1641, col: 7, offset: 53236}, - run: (*parser).callonListContinuationElement81, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement82, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, - &labeledExpr{ - pos: position{line: 1630, col: 5, offset: 52876}, - label: "checkstyle", - expr: &zeroOrOneExpr{ - pos: position{line: 1630, col: 16, offset: 52887}, - expr: &actionExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - run: (*parser).callonListContinuationElement87, - expr: &seqExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - exprs: []interface{}{ - &andExpr{ - pos: position{line: 1651, col: 5, offset: 53501}, - expr: &litMatcher{ - pos: position{line: 1651, col: 6, offset: 53502}, - val: "[", - ignoreCase: false, - want: "\"[\"", + }, + }, + }, + &actionExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + run: (*parser).callonListContinuationElement290, + expr: &seqExpr{ + pos: position{line: 820, col: 5, offset: 26321}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonListContinuationElement292, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonListContinuationElement295, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, }, }, - &labeledExpr{ - pos: position{line: 1651, col: 10, offset: 53506}, - label: "style", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement301, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement304, expr: &choiceExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1652, col: 7, offset: 53520}, - run: (*parser).callonListContinuationElement93, - expr: &litMatcher{ - pos: position{line: 1652, col: 7, offset: 53520}, - val: "[ ]", - ignoreCase: false, - want: "\"[ ]\"", - }, + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &actionExpr{ - pos: position{line: 1653, col: 7, offset: 53565}, - run: (*parser).callonListContinuationElement95, - expr: &litMatcher{ - pos: position{line: 1653, col: 7, offset: 53565}, - val: "[*]", - ignoreCase: false, - want: "\"[*]\"", - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &actionExpr{ - pos: position{line: 1654, col: 7, offset: 53608}, - run: (*parser).callonListContinuationElement97, - expr: &litMatcher{ - pos: position{line: 1654, col: 7, offset: 53608}, - val: "[x]", - ignoreCase: false, - want: "\"[x]\"", - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement99, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -36503,74 +32658,299 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1631, col: 5, offset: 52926}, + pos: position{line: 821, col: 5, offset: 26352}, label: "content", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonListContinuationElement103, - expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonListContinuationElement107, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, + expr: &zeroOrMoreExpr{ + pos: position{line: 831, col: 5, offset: 26638}, + expr: &actionExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + run: (*parser).callonListContinuationElement313, + expr: &seqExpr{ + pos: position{line: 831, col: 6, offset: 26639}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 831, col: 6, offset: 26639}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonListContinuationElement317, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonListContinuationElement320, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement326, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement329, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement111, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", + &labeledExpr{ + pos: position{line: 832, col: 5, offset: 26669}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement339, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement344, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement348, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 822, col: 5, offset: 26386}, + expr: &choiceExpr{ + pos: position{line: 828, col: 29, offset: 26581}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonListContinuationElement357, + expr: &seqExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 740, col: 5, offset: 23581}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonListContinuationElement360, + expr: &seqExpr{ + pos: position{line: 740, col: 16, offset: 23592}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 740, col: 16, offset: 23592}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 740, col: 23, offset: 23599}, + expr: &litMatcher{ + pos: position{line: 740, col: 23, offset: 23599}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 742, col: 8, offset: 23683}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement366, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement369, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, @@ -36578,121 +32958,85 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - run: (*parser).callonListContinuationElement118, + pos: position{line: 840, col: 5, offset: 26822}, + run: (*parser).callonListContinuationElement378, expr: &seqExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, + pos: position{line: 840, col: 5, offset: 26822}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1719, col: 5, offset: 55448}, - label: "ref", + pos: position{line: 840, col: 5, offset: 26822}, + label: "start", expr: &actionExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, - run: (*parser).callonListContinuationElement121, + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonListContinuationElement381, expr: &seqExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1725, col: 5, offset: 55645}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, &labeledExpr{ - pos: position{line: 1725, col: 9, offset: 55649}, - label: "ref", + pos: position{line: 747, col: 5, offset: 23829}, + label: "delimiter", expr: &actionExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - run: (*parser).callonListContinuationElement125, - expr: &oneOrMoreExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - expr: &charClassMatcher{ - pos: position{line: 1725, col: 14, offset: 55654}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonListContinuationElement384, + expr: &seqExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 747, col: 16, offset: 23840}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 747, col: 23, offset: 23847}, + expr: &litMatcher{ + pos: position{line: 747, col: 23, offset: 23847}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 1725, col: 62, offset: 55702}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement129, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + &zeroOrMoreExpr{ + pos: position{line: 749, col: 8, offset: 23931}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement390, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1720, col: 5, offset: 55484}, - label: "description", - expr: &actionExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - run: (*parser).callonListContinuationElement133, - expr: &seqExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1527, col: 5, offset: 49446}, - label: "rawLines", - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 14, offset: 49455}, - expr: &actionExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - run: (*parser).callonListContinuationElement137, - expr: &oneOrMoreExpr{ - pos: position{line: 1527, col: 15, offset: 49456}, - expr: &charClassMatcher{ - pos: position{line: 1527, col: 15, offset: 49456}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement141, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement393, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36701,9 +33045,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -36712,260 +33056,302 @@ var g = &grammar{ }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - run: (*parser).callonListContinuationElement148, - expr: &seqExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 841, col: 5, offset: 26861}, + run: (*parser).callonListContinuationElement400, + }, &labeledExpr{ - pos: position{line: 1663, col: 5, offset: 53801}, - label: "term", - expr: &actionExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - run: (*parser).callonListContinuationElement151, - expr: &oneOrMoreExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, + pos: position{line: 844, col: 5, offset: 26953}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 859, col: 4, offset: 27350}, + expr: &actionExpr{ + pos: position{line: 859, col: 5, offset: 27351}, + run: (*parser).callonListContinuationElement403, expr: &seqExpr{ - pos: position{line: 1671, col: 6, offset: 54128}, + pos: position{line: 859, col: 5, offset: 27351}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1671, col: 6, offset: 54128}, - expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonListContinuationElement155, - expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonListContinuationElement158, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonListContinuationElement161, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1671, col: 35, offset: 54157}, + pos: position{line: 859, col: 5, offset: 27351}, expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 852, col: 5, offset: 27193}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement164, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &seqExpr{ + pos: position{line: 852, col: 5, offset: 27193}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 852, col: 5, offset: 27193}, + label: "end", + expr: &actionExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonListContinuationElement409, + expr: &seqExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonListContinuationElement412, + expr: &seqExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 747, col: 16, offset: 23840}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 747, col: 23, offset: 23847}, + expr: &litMatcher{ + pos: position{line: 747, col: 23, offset: 23847}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 749, col: 8, offset: 23931}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement418, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement421, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, }, }, + &andCodeExpr{ + pos: position{line: 853, col: 5, offset: 27224}, + run: (*parser).callonListContinuationElement428, + }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, - &anyMatcher{ - line: 1671, col: 40, offset: 54162, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1664, col: 5, offset: 53836}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonListContinuationElement173, - expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - label: "separator", - expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonListContinuationElement176, - expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, - val: ":", - ignoreCase: false, - want: "\":\"", + &labeledExpr{ + pos: position{line: 860, col: 5, offset: 27381}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement432, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement437, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement441, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonListContinuationElement179, - }, }, }, }, }, &labeledExpr{ - pos: position{line: 1665, col: 5, offset: 53881}, - label: "description", - expr: &choiceExpr{ - pos: position{line: 1687, col: 5, offset: 54596}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, - run: (*parser).callonListContinuationElement182, - expr: &seqExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, + pos: position{line: 845, col: 5, offset: 26987}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 845, col: 9, offset: 26991}, + expr: &choiceExpr{ + pos: position{line: 852, col: 5, offset: 27193}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 852, col: 5, offset: 27193}, exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1689, col: 9, offset: 54662}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement185, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement188, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1690, col: 9, offset: 54681}, + &labeledExpr{ + pos: position{line: 852, col: 5, offset: 27193}, + label: "end", expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement196, + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonListContinuationElement453, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &labeledExpr{ + pos: position{line: 747, col: 5, offset: 23829}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonListContinuationElement456, + expr: &seqExpr{ + pos: position{line: 747, col: 16, offset: 23840}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 747, col: 16, offset: 23840}, + val: "====", + ignoreCase: false, + want: "\"====\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 747, col: 23, offset: 23847}, + expr: &litMatcher{ + pos: position{line: 747, col: 23, offset: 23847}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 749, col: 8, offset: 23931}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement202, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement462, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement205, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement465, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36974,9 +33360,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -36985,81 +33371,267 @@ var g = &grammar{ }, }, }, + &andCodeExpr{ + pos: position{line: 853, col: 5, offset: 27224}, + run: (*parser).callonListContinuationElement472, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, - &actionExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, - run: (*parser).callonListContinuationElement212, - expr: &seqExpr{ - pos: position{line: 1696, col: 9, offset: 54810}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement214, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 952, col: 5, offset: 29673}, + run: (*parser).callonListContinuationElement475, + expr: &seqExpr{ + pos: position{line: 952, col: 5, offset: 29673}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 952, col: 5, offset: 29673}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 760, col: 26, offset: 24317}, + run: (*parser).callonListContinuationElement478, + expr: &seqExpr{ + pos: position{line: 760, col: 26, offset: 24317}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 760, col: 26, offset: 24317}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &labeledExpr{ + pos: position{line: 760, col: 32, offset: 24323}, + label: "language", + expr: &actionExpr{ + pos: position{line: 764, col: 13, offset: 24453}, + run: (*parser).callonListContinuationElement482, + expr: &oneOrMoreExpr{ + pos: position{line: 764, col: 14, offset: 24454}, + expr: &charClassMatcher{ + pos: position{line: 764, col: 14, offset: 24454}, + val: "[^\\r\\n` ]", + chars: []rune{'\r', '\n', '`', ' '}, + ignoreCase: false, + inverted: true, }, }, - &labeledExpr{ - pos: position{line: 1697, col: 9, offset: 54883}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, - run: (*parser).callonListContinuationElement218, - expr: &oneOrMoreExpr{ - pos: position{line: 1697, col: 18, offset: 54892}, - expr: &charClassMatcher{ - pos: position{line: 1697, col: 18, offset: 54892}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 760, col: 52, offset: 24343}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement486, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement489, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: true, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement222, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 953, col: 5, offset: 29719}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 966, col: 5, offset: 30192}, + expr: &actionExpr{ + pos: position{line: 966, col: 6, offset: 30193}, + run: (*parser).callonListContinuationElement498, + expr: &seqExpr{ + pos: position{line: 966, col: 6, offset: 30193}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 966, col: 6, offset: 30193}, + expr: &seqExpr{ + pos: position{line: 963, col: 34, offset: 30140}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 963, col: 34, offset: 30140}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 963, col: 40, offset: 30146}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement504, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement507, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + }, + }, + }, + &labeledExpr{ + pos: position{line: 967, col: 5, offset: 30228}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement515, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement520, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + expr: &charClassMatcher{ + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement524, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, }, }, }, @@ -37070,550 +33642,330 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1550, col: 5, offset: 50063}, - label: "attributes", - expr: &zeroOrOneExpr{ - pos: position{line: 1550, col: 16, offset: 50074}, - expr: &ruleRefExpr{ - pos: position{line: 1550, col: 17, offset: 50075}, - name: "BlockAttributes", - }, - }, - }, - &labeledExpr{ - pos: position{line: 1551, col: 5, offset: 50097}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1552, col: 9, offset: 50115}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement234, - expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement240, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement243, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", + &zeroOrOneExpr{ + pos: position{line: 954, col: 5, offset: 29758}, + expr: &seqExpr{ + pos: position{line: 963, col: 34, offset: 30140}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 963, col: 34, offset: 30140}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 963, col: 40, offset: 30146}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement535, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\n\"", + inverted: false, }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement538, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1553, col: 11, offset: 50135}, - name: "AttributeDeclaration", - }, &actionExpr{ - pos: position{line: 360, col: 19, offset: 10907}, - run: (*parser).callonListContinuationElement251, + pos: position{line: 868, col: 5, offset: 27534}, + run: (*parser).callonListContinuationElement545, expr: &seqExpr{ - pos: position{line: 360, col: 19, offset: 10907}, + pos: position{line: 868, col: 5, offset: 27534}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 360, col: 19, offset: 10907}, - val: ":!", - ignoreCase: false, - want: "\":!\"", - }, &labeledExpr{ - pos: position{line: 360, col: 24, offset: 10912}, - label: "name", + pos: position{line: 868, col: 5, offset: 27534}, + label: "start", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonListContinuationElement255, + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonListContinuationElement548, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonListContinuationElement551, + expr: &seqExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 754, col: 16, offset: 24087}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 754, col: 22, offset: 24093}, + expr: &litMatcher{ + pos: position{line: 754, col: 22, offset: 24093}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + pos: position{line: 756, col: 8, offset: 24177}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement557, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement560, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 360, col: 45, offset: 10933}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 360, col: 49, offset: 10937}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement262, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement265, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 362, col: 9, offset: 11028}, - run: (*parser).callonListContinuationElement272, - expr: &seqExpr{ - pos: position{line: 362, col: 9, offset: 11028}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 362, col: 9, offset: 11028}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 362, col: 13, offset: 11032}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonListContinuationElement276, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 362, col: 34, offset: 11053}, - val: "!:", - ignoreCase: false, - want: "\"!:\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 362, col: 39, offset: 11058}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement283, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement286, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - run: (*parser).callonListContinuationElement293, - expr: &seqExpr{ - pos: position{line: 819, col: 5, offset: 26296}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonListContinuationElement295, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonListContinuationElement298, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement304, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement307, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, + &andCodeExpr{ + pos: position{line: 869, col: 5, offset: 27572}, + run: (*parser).callonListContinuationElement567, }, &labeledExpr{ - pos: position{line: 820, col: 5, offset: 26327}, + pos: position{line: 872, col: 5, offset: 27664}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 830, col: 5, offset: 26613}, + pos: position{line: 887, col: 5, offset: 28054}, expr: &actionExpr{ - pos: position{line: 830, col: 6, offset: 26614}, - run: (*parser).callonListContinuationElement316, + pos: position{line: 887, col: 6, offset: 28055}, + run: (*parser).callonListContinuationElement570, expr: &seqExpr{ - pos: position{line: 830, col: 6, offset: 26614}, + pos: position{line: 887, col: 6, offset: 28055}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 830, col: 6, offset: 26614}, + pos: position{line: 887, col: 6, offset: 28055}, expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, + pos: position{line: 880, col: 5, offset: 27898}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonListContinuationElement320, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonListContinuationElement323, - expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", + &seqExpr{ + pos: position{line: 880, col: 5, offset: 27898}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 880, col: 5, offset: 27898}, + label: "end", + expr: &actionExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonListContinuationElement576, + expr: &seqExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonListContinuationElement579, + expr: &seqExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 754, col: 16, offset: 24087}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 754, col: 22, offset: 24093}, + expr: &litMatcher{ + pos: position{line: 754, col: 22, offset: 24093}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, }, - &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", + }, + &zeroOrMoreExpr{ + pos: position{line: 756, col: 8, offset: 24177}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement585, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"/\"", + inverted: false, }, }, }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement329, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement332, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement588, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, + &andCodeExpr{ + pos: position{line: 881, col: 5, offset: 27928}, + run: (*parser).callonListContinuationElement595, + }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 831, col: 5, offset: 26644}, + pos: position{line: 888, col: 5, offset: 28084}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement342, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement599, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement348, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement604, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -37623,28 +33975,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement352, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement608, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37653,9 +34005,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -37669,104 +34021,121 @@ var g = &grammar{ }, }, }, - &zeroOrOneExpr{ - pos: position{line: 821, col: 5, offset: 26361}, - expr: &choiceExpr{ - pos: position{line: 827, col: 29, offset: 26556}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonListContinuationElement361, - expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + &labeledExpr{ + pos: position{line: 873, col: 5, offset: 27697}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 873, col: 9, offset: 27701}, + expr: &choiceExpr{ + pos: position{line: 880, col: 5, offset: 27898}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 880, col: 5, offset: 27898}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - label: "delimiter", + pos: position{line: 880, col: 5, offset: 27898}, + label: "end", expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonListContinuationElement364, + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonListContinuationElement620, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, - val: "////", - ignoreCase: false, - want: "\"////\"", + &labeledExpr{ + pos: position{line: 754, col: 5, offset: 24076}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonListContinuationElement623, + expr: &seqExpr{ + pos: position{line: 754, col: 16, offset: 24087}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 754, col: 16, offset: 24087}, + val: "```", + ignoreCase: false, + want: "\"```\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 754, col: 22, offset: 24093}, + expr: &litMatcher{ + pos: position{line: 754, col: 22, offset: 24093}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, }, &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, - expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, - val: "/", - ignoreCase: false, - want: "\"/\"", + pos: position{line: 756, col: 8, offset: 24177}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement629, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement370, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement373, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement632, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, + &andCodeExpr{ + pos: position{line: 881, col: 5, offset: 27928}, + run: (*parser).callonListContinuationElement639, + }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, @@ -37776,42 +34145,42 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 839, col: 5, offset: 26797}, - run: (*parser).callonListContinuationElement382, + pos: position{line: 896, col: 5, offset: 28239}, + run: (*parser).callonListContinuationElement642, expr: &seqExpr{ - pos: position{line: 839, col: 5, offset: 26797}, + pos: position{line: 896, col: 5, offset: 28239}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 839, col: 5, offset: 26797}, + pos: position{line: 896, col: 5, offset: 28239}, label: "start", expr: &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonListContinuationElement385, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonListContinuationElement645, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonListContinuationElement388, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonListContinuationElement648, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, - val: "====", + pos: position{line: 769, col: 16, offset: 24624}, + val: "----", ignoreCase: false, - want: "\"====\"", + want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, - val: "=", + pos: position{line: 769, col: 23, offset: 24631}, + val: "-", ignoreCase: false, - want: "\"=\"", + want: "\"-\"", }, }, }, @@ -37819,42 +34188,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement394, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement654, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement397, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement657, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37863,9 +34232,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -37875,59 +34244,59 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 840, col: 5, offset: 26836}, - run: (*parser).callonListContinuationElement404, + pos: position{line: 897, col: 5, offset: 28278}, + run: (*parser).callonListContinuationElement664, }, &labeledExpr{ - pos: position{line: 843, col: 5, offset: 26928}, + pos: position{line: 900, col: 5, offset: 28370}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 858, col: 4, offset: 27325}, + pos: position{line: 915, col: 5, offset: 28768}, expr: &actionExpr{ - pos: position{line: 858, col: 5, offset: 27326}, - run: (*parser).callonListContinuationElement407, + pos: position{line: 915, col: 6, offset: 28769}, + run: (*parser).callonListContinuationElement667, expr: &seqExpr{ - pos: position{line: 858, col: 5, offset: 27326}, + pos: position{line: 915, col: 6, offset: 28769}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 858, col: 5, offset: 27326}, + pos: position{line: 915, col: 6, offset: 28769}, expr: &choiceExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 908, col: 5, offset: 28610}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 908, col: 5, offset: 28610}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 908, col: 5, offset: 28610}, label: "end", expr: &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonListContinuationElement413, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonListContinuationElement673, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonListContinuationElement416, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonListContinuationElement676, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, - val: "====", + pos: position{line: 769, col: 16, offset: 24624}, + val: "----", ignoreCase: false, - want: "\"====\"", + want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, - val: "=", + pos: position{line: 769, col: 23, offset: 24631}, + val: "-", ignoreCase: false, - want: "\"=\"", + want: "\"-\"", }, }, }, @@ -37935,42 +34304,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement422, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement682, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement425, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement685, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37979,9 +34348,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -37991,48 +34360,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 852, col: 5, offset: 27199}, - run: (*parser).callonListContinuationElement432, + pos: position{line: 909, col: 5, offset: 28641}, + run: (*parser).callonListContinuationElement692, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 859, col: 5, offset: 27356}, + pos: position{line: 916, col: 5, offset: 28799}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement436, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement696, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement442, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement701, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38042,28 +34408,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement446, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement705, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38072,9 +34438,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38089,47 +34455,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 844, col: 5, offset: 26962}, + pos: position{line: 901, col: 5, offset: 28404}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 844, col: 9, offset: 26966}, + pos: position{line: 901, col: 9, offset: 28408}, expr: &choiceExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 908, col: 5, offset: 28610}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 908, col: 5, offset: 28610}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 851, col: 5, offset: 27168}, + pos: position{line: 908, col: 5, offset: 28610}, label: "end", expr: &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonListContinuationElement458, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonListContinuationElement717, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonListContinuationElement461, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonListContinuationElement720, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, - val: "====", + pos: position{line: 769, col: 16, offset: 24624}, + val: "----", ignoreCase: false, - want: "\"====\"", + want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, - val: "=", + pos: position{line: 769, col: 23, offset: 24631}, + val: "-", ignoreCase: false, - want: "\"=\"", + want: "\"-\"", }, }, }, @@ -38137,42 +34503,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement467, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement726, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement470, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement729, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38181,9 +34547,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38193,15 +34559,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 852, col: 5, offset: 27199}, - run: (*parser).callonListContinuationElement477, + pos: position{line: 909, col: 5, offset: 28641}, + run: (*parser).callonListContinuationElement736, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38212,81 +34578,85 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 951, col: 5, offset: 29648}, - run: (*parser).callonListContinuationElement480, + pos: position{line: 924, col: 5, offset: 28954}, + run: (*parser).callonListContinuationElement739, expr: &seqExpr{ - pos: position{line: 951, col: 5, offset: 29648}, + pos: position{line: 924, col: 5, offset: 28954}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 951, col: 5, offset: 29648}, - label: "delimiter", + pos: position{line: 924, col: 5, offset: 28954}, + label: "start", expr: &actionExpr{ - pos: position{line: 759, col: 26, offset: 24294}, - run: (*parser).callonListContinuationElement483, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonListContinuationElement742, expr: &seqExpr{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 759, col: 26, offset: 24294}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, &labeledExpr{ - pos: position{line: 759, col: 32, offset: 24300}, - label: "language", + pos: position{line: 783, col: 5, offset: 25089}, + label: "delimiter", expr: &actionExpr{ - pos: position{line: 763, col: 13, offset: 24430}, - run: (*parser).callonListContinuationElement487, - expr: &oneOrMoreExpr{ - pos: position{line: 763, col: 14, offset: 24431}, - expr: &charClassMatcher{ - pos: position{line: 763, col: 14, offset: 24431}, - val: "[^\\r\\n` ]", - chars: []rune{'\r', '\n', '`', ' '}, - ignoreCase: false, - inverted: true, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonListContinuationElement745, + expr: &seqExpr{ + pos: position{line: 783, col: 16, offset: 25100}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 783, col: 16, offset: 25100}, + val: "....", + ignoreCase: false, + want: "\"....\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 783, col: 23, offset: 25107}, + expr: &litMatcher{ + pos: position{line: 783, col: 23, offset: 25107}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + }, }, }, }, }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 52, offset: 24320}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement491, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement751, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement494, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement754, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38295,9 +34665,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38306,388 +34676,60 @@ var g = &grammar{ }, }, }, + &andCodeExpr{ + pos: position{line: 925, col: 5, offset: 28993}, + run: (*parser).callonListContinuationElement761, + }, &labeledExpr{ - pos: position{line: 952, col: 5, offset: 29694}, + pos: position{line: 928, col: 5, offset: 29085}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 965, col: 5, offset: 30167}, + pos: position{line: 943, col: 5, offset: 29483}, expr: &actionExpr{ - pos: position{line: 965, col: 6, offset: 30168}, - run: (*parser).callonListContinuationElement503, + pos: position{line: 943, col: 6, offset: 29484}, + run: (*parser).callonListContinuationElement764, expr: &seqExpr{ - pos: position{line: 965, col: 6, offset: 30168}, + pos: position{line: 943, col: 6, offset: 29484}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 965, col: 6, offset: 30168}, - expr: &seqExpr{ - pos: position{line: 962, col: 34, offset: 30115}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 962, col: 34, offset: 30115}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 962, col: 40, offset: 30121}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement509, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement512, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 966, col: 5, offset: 30203}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement520, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement526, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement530, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 953, col: 5, offset: 29733}, - expr: &seqExpr{ - pos: position{line: 962, col: 34, offset: 30115}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 962, col: 34, offset: 30115}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 962, col: 40, offset: 30121}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement541, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement544, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 867, col: 5, offset: 27509}, - run: (*parser).callonListContinuationElement551, - expr: &seqExpr{ - pos: position{line: 867, col: 5, offset: 27509}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 867, col: 5, offset: 27509}, - label: "start", - expr: &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonListContinuationElement554, - expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonListContinuationElement557, - expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, - val: "```", - ignoreCase: false, - want: "\"```\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, - expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement563, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement566, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 868, col: 5, offset: 27547}, - run: (*parser).callonListContinuationElement573, - }, - &labeledExpr{ - pos: position{line: 871, col: 5, offset: 27639}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 886, col: 5, offset: 28029}, - expr: &actionExpr{ - pos: position{line: 886, col: 6, offset: 28030}, - run: (*parser).callonListContinuationElement576, - expr: &seqExpr{ - pos: position{line: 886, col: 6, offset: 28030}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 886, col: 6, offset: 28030}, + pos: position{line: 943, col: 6, offset: 29484}, expr: &choiceExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 936, col: 5, offset: 29325}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 936, col: 5, offset: 29325}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 936, col: 5, offset: 29325}, label: "end", expr: &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonListContinuationElement582, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonListContinuationElement770, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonListContinuationElement585, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonListContinuationElement773, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, - val: "```", + pos: position{line: 783, col: 16, offset: 25100}, + val: "....", ignoreCase: false, - want: "\"```\"", + want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, - val: "`", + pos: position{line: 783, col: 23, offset: 25107}, + val: ".", ignoreCase: false, - want: "\"`\"", + want: "\".\"", }, }, }, @@ -38695,42 +34737,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement591, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement779, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement594, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement782, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38739,9 +34781,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38751,48 +34793,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 880, col: 5, offset: 27903}, - run: (*parser).callonListContinuationElement601, + pos: position{line: 937, col: 5, offset: 29356}, + run: (*parser).callonListContinuationElement789, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 887, col: 5, offset: 28059}, + pos: position{line: 944, col: 5, offset: 29514}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement605, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement793, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement611, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement798, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38802,28 +34841,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement615, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement802, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38832,9 +34871,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38849,47 +34888,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 872, col: 5, offset: 27672}, + pos: position{line: 929, col: 5, offset: 29119}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 872, col: 9, offset: 27676}, + pos: position{line: 929, col: 9, offset: 29123}, expr: &choiceExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 936, col: 5, offset: 29325}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 936, col: 5, offset: 29325}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 879, col: 5, offset: 27873}, + pos: position{line: 936, col: 5, offset: 29325}, label: "end", expr: &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonListContinuationElement627, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonListContinuationElement814, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonListContinuationElement630, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonListContinuationElement817, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, - val: "```", + pos: position{line: 783, col: 16, offset: 25100}, + val: "....", ignoreCase: false, - want: "\"```\"", + want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, - val: "`", + pos: position{line: 783, col: 23, offset: 25107}, + val: ".", ignoreCase: false, - want: "\"`\"", + want: "\".\"", }, }, }, @@ -38897,42 +34936,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement636, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement823, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement639, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement826, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38941,9 +34980,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38953,15 +34992,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 880, col: 5, offset: 27903}, - run: (*parser).callonListContinuationElement646, + pos: position{line: 937, col: 5, offset: 29356}, + run: (*parser).callonListContinuationElement833, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -38972,85 +35011,137 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 895, col: 5, offset: 28214}, - run: (*parser).callonListContinuationElement649, + pos: position{line: 975, col: 5, offset: 30397}, + run: (*parser).callonListContinuationElement836, expr: &seqExpr{ - pos: position{line: 895, col: 5, offset: 28214}, + pos: position{line: 975, col: 5, offset: 30397}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 895, col: 5, offset: 28214}, - label: "start", + pos: position{line: 975, col: 5, offset: 30397}, + label: "firstLine", expr: &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonListContinuationElement652, + pos: position{line: 982, col: 5, offset: 30656}, + run: (*parser).callonListContinuationElement839, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 982, col: 5, offset: 30656}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - label: "delimiter", + ¬Expr{ + pos: position{line: 982, col: 5, offset: 30656}, expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonListContinuationElement655, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement842, expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, - val: "----", - ignoreCase: false, - want: "\"----\"", + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, }, &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, - expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, - val: "-", - ignoreCase: false, - want: "\"-\"", + pos: position{line: 677, col: 21, offset: 21493}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement847, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement850, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + &litMatcher{ + pos: position{line: 983, col: 5, offset: 30671}, + val: "> ", + ignoreCase: false, + want: "\"> \"", + }, + &labeledExpr{ + pos: position{line: 984, col: 5, offset: 30681}, + label: "content", expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement661, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonListContinuationElement859, + expr: &oneOrMoreExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, + expr: &charClassMatcher{ + pos: position{line: 2852, col: 14, offset: 90052}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement664, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement863, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39059,9 +35150,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39070,317 +35161,483 @@ var g = &grammar{ }, }, }, - &andCodeExpr{ - pos: position{line: 896, col: 5, offset: 28253}, - run: (*parser).callonListContinuationElement671, - }, &labeledExpr{ - pos: position{line: 899, col: 5, offset: 28345}, - label: "content", + pos: position{line: 976, col: 5, offset: 30434}, + label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 914, col: 5, offset: 28743}, - expr: &actionExpr{ - pos: position{line: 914, col: 6, offset: 28744}, - run: (*parser).callonListContinuationElement674, - expr: &seqExpr{ - pos: position{line: 914, col: 6, offset: 28744}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 914, col: 6, offset: 28744}, - expr: &choiceExpr{ - pos: position{line: 907, col: 5, offset: 28585}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 907, col: 5, offset: 28585}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 907, col: 5, offset: 28585}, - label: "end", - expr: &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonListContinuationElement680, - expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonListContinuationElement683, - expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, - val: "----", - ignoreCase: false, - want: "\"----\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, - expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement689, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 976, col: 16, offset: 30445}, + expr: &choiceExpr{ + pos: position{line: 976, col: 17, offset: 30446}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 982, col: 5, offset: 30656}, + run: (*parser).callonListContinuationElement873, + expr: &seqExpr{ + pos: position{line: 982, col: 5, offset: 30656}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 982, col: 5, offset: 30656}, + expr: &actionExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement876, + expr: &seqExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 677, col: 21, offset: 21493}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement881, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement884, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement692, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, - &andCodeExpr{ - pos: position{line: 908, col: 5, offset: 28616}, - run: (*parser).callonListContinuationElement699, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 915, col: 5, offset: 28774}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement703, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &litMatcher{ + pos: position{line: 983, col: 5, offset: 30671}, + val: "> ", + ignoreCase: false, + want: "\"> \"", + }, + &labeledExpr{ + pos: position{line: 984, col: 5, offset: 30681}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonListContinuationElement893, + expr: &oneOrMoreExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, + expr: &charClassMatcher{ + pos: position{line: 2852, col: 14, offset: 90052}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement709, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement897, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - inverted: true, + want: "\"\\n\"", }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement713, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 900, col: 5, offset: 28379}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 900, col: 9, offset: 28383}, - expr: &choiceExpr{ - pos: position{line: 907, col: 5, offset: 28585}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 907, col: 5, offset: 28585}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 907, col: 5, offset: 28585}, - label: "end", - expr: &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonListContinuationElement725, - expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonListContinuationElement728, - expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, - val: "----", - ignoreCase: false, - want: "\"----\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, - expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, - val: "-", - ignoreCase: false, - want: "\"-\"", + &actionExpr{ + pos: position{line: 1785, col: 5, offset: 57639}, + run: (*parser).callonListContinuationElement904, + expr: &seqExpr{ + pos: position{line: 1785, col: 5, offset: 57639}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1785, col: 5, offset: 57639}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonListContinuationElement907, + expr: &oneOrMoreExpr{ + pos: position{line: 2852, col: 14, offset: 90052}, + expr: &charClassMatcher{ + pos: position{line: 2852, col: 14, offset: 90052}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1786, col: 5, offset: 57663}, + run: (*parser).callonListContinuationElement910, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement912, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 997, col: 5, offset: 30946}, + run: (*parser).callonListContinuationElement919, + expr: &seqExpr{ + pos: position{line: 997, col: 5, offset: 30946}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 997, col: 5, offset: 30946}, + label: "start", + expr: &actionExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + run: (*parser).callonListContinuationElement922, + expr: &seqExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 776, col: 16, offset: 24869}, + run: (*parser).callonListContinuationElement925, + expr: &litMatcher{ + pos: position{line: 776, col: 16, offset: 24869}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 778, col: 8, offset: 24946}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement928, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement931, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 998, col: 5, offset: 30982}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 1008, col: 5, offset: 31250}, + expr: &actionExpr{ + pos: position{line: 1008, col: 6, offset: 31251}, + run: (*parser).callonListContinuationElement940, + expr: &seqExpr{ + pos: position{line: 1008, col: 6, offset: 31251}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1008, col: 6, offset: 31251}, + expr: &choiceExpr{ + pos: position{line: 1005, col: 26, offset: 31199}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + run: (*parser).callonListContinuationElement944, + expr: &seqExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 776, col: 16, offset: 24869}, + run: (*parser).callonListContinuationElement947, + expr: &litMatcher{ + pos: position{line: 776, col: 16, offset: 24869}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 778, col: 8, offset: 24946}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement950, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement953, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement734, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1009, col: 5, offset: 31278}, + label: "line", + expr: &actionExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement963, + expr: &seqExpr{ + pos: position{line: 811, col: 5, offset: 26085}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 812, col: 5, offset: 26160}, + label: "content", + expr: &actionExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement968, + expr: &zeroOrMoreExpr{ + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2848, col: 13, offset: 89985}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - inverted: false, + inverted: true, }, }, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement737, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement972, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39388,16 +35645,99 @@ var g = &grammar{ }, }, }, - &andCodeExpr{ - pos: position{line: 908, col: 5, offset: 28616}, - run: (*parser).callonListContinuationElement744, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 999, col: 5, offset: 31013}, + label: "end", + expr: &zeroOrOneExpr{ + pos: position{line: 999, col: 9, offset: 31017}, + expr: &choiceExpr{ + pos: position{line: 1005, col: 26, offset: 31199}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + run: (*parser).callonListContinuationElement982, + expr: &seqExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 776, col: 5, offset: 24858}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 776, col: 16, offset: 24869}, + run: (*parser).callonListContinuationElement985, + expr: &litMatcher{ + pos: position{line: 776, col: 16, offset: 24869}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 778, col: 8, offset: 24946}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement988, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement991, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39408,42 +35748,42 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 923, col: 5, offset: 28929}, - run: (*parser).callonListContinuationElement747, + pos: position{line: 1017, col: 5, offset: 31441}, + run: (*parser).callonListContinuationElement1000, expr: &seqExpr{ - pos: position{line: 923, col: 5, offset: 28929}, + pos: position{line: 1017, col: 5, offset: 31441}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 923, col: 5, offset: 28929}, + pos: position{line: 1017, col: 5, offset: 31441}, label: "start", expr: &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonListContinuationElement750, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonListContinuationElement1003, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonListContinuationElement753, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonListContinuationElement1006, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, - val: "....", + pos: position{line: 790, col: 16, offset: 25352}, + val: "++++", ignoreCase: false, - want: "\"....\"", + want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, - val: ".", + pos: position{line: 790, col: 23, offset: 25359}, + val: "+", ignoreCase: false, - want: "\".\"", + want: "\"+\"", }, }, }, @@ -39451,42 +35791,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement759, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1012, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement762, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1015, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39495,9 +35835,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39507,59 +35847,59 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 924, col: 5, offset: 28968}, - run: (*parser).callonListContinuationElement769, + pos: position{line: 1018, col: 5, offset: 31484}, + run: (*parser).callonListContinuationElement1022, }, &labeledExpr{ - pos: position{line: 927, col: 5, offset: 29060}, + pos: position{line: 1021, col: 5, offset: 31576}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 942, col: 5, offset: 29458}, + pos: position{line: 1036, col: 5, offset: 32006}, expr: &actionExpr{ - pos: position{line: 942, col: 6, offset: 29459}, - run: (*parser).callonListContinuationElement772, + pos: position{line: 1036, col: 6, offset: 32007}, + run: (*parser).callonListContinuationElement1025, expr: &seqExpr{ - pos: position{line: 942, col: 6, offset: 29459}, + pos: position{line: 1036, col: 6, offset: 32007}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 942, col: 6, offset: 29459}, + pos: position{line: 1036, col: 6, offset: 32007}, expr: &choiceExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 1029, col: 5, offset: 31840}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 1029, col: 5, offset: 31840}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 1029, col: 5, offset: 31840}, label: "end", expr: &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonListContinuationElement778, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonListContinuationElement1031, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonListContinuationElement781, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonListContinuationElement1034, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, - val: "....", + pos: position{line: 790, col: 16, offset: 25352}, + val: "++++", ignoreCase: false, - want: "\"....\"", + want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, - val: ".", + pos: position{line: 790, col: 23, offset: 25359}, + val: "+", ignoreCase: false, - want: "\".\"", + want: "\"+\"", }, }, }, @@ -39567,42 +35907,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement787, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1040, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement790, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1043, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39611,9 +35951,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39623,48 +35963,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 936, col: 5, offset: 29331}, - run: (*parser).callonListContinuationElement797, + pos: position{line: 1030, col: 5, offset: 31875}, + run: (*parser).callonListContinuationElement1050, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 943, col: 5, offset: 29489}, + pos: position{line: 1037, col: 5, offset: 32041}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement801, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement1054, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement807, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement1059, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -39674,28 +36011,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement811, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1063, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39704,9 +36041,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39721,47 +36058,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 928, col: 5, offset: 29094}, + pos: position{line: 1022, col: 5, offset: 31614}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 928, col: 9, offset: 29098}, + pos: position{line: 1022, col: 9, offset: 31618}, expr: &choiceExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 1029, col: 5, offset: 31840}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 1029, col: 5, offset: 31840}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 935, col: 5, offset: 29300}, + pos: position{line: 1029, col: 5, offset: 31840}, label: "end", expr: &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonListContinuationElement823, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonListContinuationElement1075, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonListContinuationElement826, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonListContinuationElement1078, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, - val: "....", + pos: position{line: 790, col: 16, offset: 25352}, + val: "++++", ignoreCase: false, - want: "\"....\"", + want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, - val: ".", + pos: position{line: 790, col: 23, offset: 25359}, + val: "+", ignoreCase: false, - want: "\".\"", + want: "\"+\"", }, }, }, @@ -39769,42 +36106,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement832, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1084, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement835, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1087, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39813,9 +36150,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39825,15 +36162,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 936, col: 5, offset: 29331}, - run: (*parser).callonListContinuationElement842, + pos: position{line: 1030, col: 5, offset: 31875}, + run: (*parser).callonListContinuationElement1094, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39844,140 +36181,85 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 974, col: 5, offset: 30372}, - run: (*parser).callonListContinuationElement845, + pos: position{line: 1045, col: 5, offset: 32192}, + run: (*parser).callonListContinuationElement1097, expr: &seqExpr{ - pos: position{line: 974, col: 5, offset: 30372}, + pos: position{line: 1045, col: 5, offset: 32192}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 974, col: 5, offset: 30372}, - label: "firstLine", + pos: position{line: 1045, col: 5, offset: 32192}, + label: "start", expr: &actionExpr{ - pos: position{line: 981, col: 5, offset: 30631}, - run: (*parser).callonListContinuationElement848, + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonListContinuationElement1100, expr: &seqExpr{ - pos: position{line: 981, col: 5, offset: 30631}, + pos: position{line: 797, col: 5, offset: 25591}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 981, col: 5, offset: 30631}, + &labeledExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + label: "delimiter", expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement851, + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonListContinuationElement1103, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 797, col: 16, offset: 25602}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + &litMatcher{ + pos: position{line: 797, col: 16, offset: 25602}, + val: "____", + ignoreCase: false, + want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement857, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement860, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + pos: position{line: 797, col: 23, offset: 25609}, + expr: &litMatcher{ + pos: position{line: 797, col: 23, offset: 25609}, + val: "_", + ignoreCase: false, + want: "\"_\"", }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 982, col: 5, offset: 30646}, - val: "> ", - ignoreCase: false, - want: "\"> \"", - }, - &labeledExpr{ - pos: position{line: 983, col: 5, offset: 30656}, - label: "content", + &zeroOrMoreExpr{ + pos: position{line: 799, col: 8, offset: 25693}, expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonListContinuationElement869, - expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1109, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement873, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1112, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39986,9 +36268,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -39997,447 +36279,162 @@ var g = &grammar{ }, }, }, + &andCodeExpr{ + pos: position{line: 1046, col: 5, offset: 32229}, + run: (*parser).callonListContinuationElement1119, + }, &labeledExpr{ - pos: position{line: 975, col: 5, offset: 30409}, - label: "otherLines", + pos: position{line: 1049, col: 5, offset: 32321}, + label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 975, col: 16, offset: 30420}, - expr: &choiceExpr{ - pos: position{line: 975, col: 17, offset: 30421}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 981, col: 5, offset: 30631}, - run: (*parser).callonListContinuationElement883, - expr: &seqExpr{ - pos: position{line: 981, col: 5, offset: 30631}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 981, col: 5, offset: 30631}, - expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement886, - expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement892, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement895, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + pos: position{line: 1064, col: 4, offset: 32702}, + expr: &actionExpr{ + pos: position{line: 1064, col: 5, offset: 32703}, + run: (*parser).callonListContinuationElement1122, + expr: &seqExpr{ + pos: position{line: 1064, col: 5, offset: 32703}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1064, col: 5, offset: 32703}, + expr: &choiceExpr{ + pos: position{line: 1057, col: 5, offset: 32549}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 1057, col: 5, offset: 32549}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1057, col: 5, offset: 32549}, + label: "end", + expr: &actionExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonListContinuationElement1128, + expr: &seqExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonListContinuationElement1131, + expr: &seqExpr{ + pos: position{line: 797, col: 16, offset: 25602}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 797, col: 16, offset: 25602}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 797, col: 23, offset: 25609}, + expr: &litMatcher{ + pos: position{line: 797, col: 23, offset: 25609}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 799, col: 8, offset: 25693}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1137, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 982, col: 5, offset: 30646}, - val: "> ", - ignoreCase: false, - want: "\"> \"", - }, - &labeledExpr{ - pos: position{line: 983, col: 5, offset: 30656}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonListContinuationElement904, - expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement908, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, - run: (*parser).callonListContinuationElement915, - expr: &seqExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonListContinuationElement918, - expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1794, col: 5, offset: 57948}, - run: (*parser).callonListContinuationElement921, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement923, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 996, col: 5, offset: 30921}, - run: (*parser).callonListContinuationElement930, - expr: &seqExpr{ - pos: position{line: 996, col: 5, offset: 30921}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 996, col: 5, offset: 30921}, - label: "start", - expr: &actionExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - run: (*parser).callonListContinuationElement933, - expr: &seqExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 775, col: 16, offset: 24846}, - run: (*parser).callonListContinuationElement936, - expr: &litMatcher{ - pos: position{line: 775, col: 16, offset: 24846}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 777, col: 8, offset: 24923}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement939, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement942, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 997, col: 5, offset: 30957}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 1007, col: 5, offset: 31225}, - expr: &actionExpr{ - pos: position{line: 1007, col: 6, offset: 31226}, - run: (*parser).callonListContinuationElement951, - expr: &seqExpr{ - pos: position{line: 1007, col: 6, offset: 31226}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1007, col: 6, offset: 31226}, - expr: &choiceExpr{ - pos: position{line: 1004, col: 26, offset: 31174}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - run: (*parser).callonListContinuationElement955, - expr: &seqExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 775, col: 16, offset: 24846}, - run: (*parser).callonListContinuationElement958, - expr: &litMatcher{ - pos: position{line: 775, col: 16, offset: 24846}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 777, col: 8, offset: 24923}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement961, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement964, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1140, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, }, + &andCodeExpr{ + pos: position{line: 1058, col: 5, offset: 32578}, + run: (*parser).callonListContinuationElement1147, + }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1008, col: 5, offset: 31253}, + pos: position{line: 1065, col: 5, offset: 32731}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement974, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement1151, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement980, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement1156, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40447,28 +36444,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement984, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1160, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40477,9 +36474,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -40494,92 +36491,119 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 998, col: 5, offset: 30988}, + pos: position{line: 1050, col: 5, offset: 32353}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 998, col: 9, offset: 30992}, + pos: position{line: 1050, col: 9, offset: 32357}, expr: &choiceExpr{ - pos: position{line: 1004, col: 26, offset: 31174}, + pos: position{line: 1057, col: 5, offset: 32549}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - run: (*parser).callonListContinuationElement994, - expr: &seqExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 775, col: 5, offset: 24835}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 775, col: 16, offset: 24846}, - run: (*parser).callonListContinuationElement997, - expr: &litMatcher{ - pos: position{line: 775, col: 16, offset: 24846}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 777, col: 8, offset: 24923}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1000, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1003, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &seqExpr{ + pos: position{line: 1057, col: 5, offset: 32549}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1057, col: 5, offset: 32549}, + label: "end", + expr: &actionExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonListContinuationElement1172, + expr: &seqExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 797, col: 5, offset: 25591}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonListContinuationElement1175, + expr: &seqExpr{ + pos: position{line: 797, col: 16, offset: 25602}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 797, col: 16, offset: 25602}, + val: "____", + ignoreCase: false, + want: "\"____\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 797, col: 23, offset: 25609}, + expr: &litMatcher{ + pos: position{line: 797, col: 23, offset: 25609}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 799, col: 8, offset: 25693}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1181, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, }, }, }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1184, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, }, }, }, }, }, + &andCodeExpr{ + pos: position{line: 1058, col: 5, offset: 32578}, + run: (*parser).callonListContinuationElement1191, + }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -40590,42 +36614,42 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1016, col: 5, offset: 31416}, - run: (*parser).callonListContinuationElement1012, + pos: position{line: 1073, col: 5, offset: 32886}, + run: (*parser).callonListContinuationElement1194, expr: &seqExpr{ - pos: position{line: 1016, col: 5, offset: 31416}, + pos: position{line: 1073, col: 5, offset: 32886}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1016, col: 5, offset: 31416}, + pos: position{line: 1073, col: 5, offset: 32886}, label: "start", expr: &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonListContinuationElement1015, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonListContinuationElement1197, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonListContinuationElement1018, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonListContinuationElement1200, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, - val: "++++", + pos: position{line: 804, col: 16, offset: 25848}, + val: "****", ignoreCase: false, - want: "\"++++\"", + want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, - val: "+", + pos: position{line: 804, col: 23, offset: 25855}, + val: "*", ignoreCase: false, - want: "\"+\"", + want: "\"*\"", }, }, }, @@ -40633,42 +36657,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1024, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1206, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1027, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1209, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40677,9 +36701,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -40689,59 +36713,59 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1017, col: 5, offset: 31459}, - run: (*parser).callonListContinuationElement1034, + pos: position{line: 1074, col: 5, offset: 32925}, + run: (*parser).callonListContinuationElement1216, }, &labeledExpr{ - pos: position{line: 1020, col: 5, offset: 31551}, + pos: position{line: 1077, col: 5, offset: 33017}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 1035, col: 5, offset: 31981}, + pos: position{line: 1092, col: 4, offset: 33414}, expr: &actionExpr{ - pos: position{line: 1035, col: 6, offset: 31982}, - run: (*parser).callonListContinuationElement1037, + pos: position{line: 1092, col: 5, offset: 33415}, + run: (*parser).callonListContinuationElement1219, expr: &seqExpr{ - pos: position{line: 1035, col: 6, offset: 31982}, + pos: position{line: 1092, col: 5, offset: 33415}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1035, col: 6, offset: 31982}, + pos: position{line: 1092, col: 5, offset: 33415}, expr: &choiceExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1085, col: 5, offset: 33257}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1085, col: 5, offset: 33257}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1085, col: 5, offset: 33257}, label: "end", expr: &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonListContinuationElement1043, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonListContinuationElement1225, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonListContinuationElement1046, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonListContinuationElement1228, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, - val: "++++", + pos: position{line: 804, col: 16, offset: 25848}, + val: "****", ignoreCase: false, - want: "\"++++\"", + want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, - val: "+", + pos: position{line: 804, col: 23, offset: 25855}, + val: "*", ignoreCase: false, - want: "\"+\"", + want: "\"*\"", }, }, }, @@ -40749,42 +36773,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1052, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1234, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1055, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1237, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40793,9 +36817,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -40805,48 +36829,45 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1029, col: 5, offset: 31850}, - run: (*parser).callonListContinuationElement1062, + pos: position{line: 1086, col: 5, offset: 33288}, + run: (*parser).callonListContinuationElement1244, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &labeledExpr{ - pos: position{line: 1036, col: 5, offset: 32016}, + pos: position{line: 1093, col: 5, offset: 33445}, label: "line", expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement1066, + pos: position{line: 811, col: 5, offset: 26085}, + run: (*parser).callonListContinuationElement1248, expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, + pos: position{line: 811, col: 5, offset: 26085}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, + pos: position{line: 812, col: 5, offset: 26160}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement1072, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement1253, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40856,28 +36877,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1076, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1257, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40886,9 +36907,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -40903,47 +36924,47 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1021, col: 5, offset: 31589}, + pos: position{line: 1078, col: 5, offset: 33051}, label: "end", expr: &zeroOrOneExpr{ - pos: position{line: 1021, col: 9, offset: 31593}, + pos: position{line: 1078, col: 9, offset: 33055}, expr: &choiceExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1085, col: 5, offset: 33257}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1085, col: 5, offset: 33257}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1028, col: 5, offset: 31815}, + pos: position{line: 1085, col: 5, offset: 33257}, label: "end", expr: &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonListContinuationElement1088, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonListContinuationElement1269, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonListContinuationElement1091, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonListContinuationElement1272, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, - val: "++++", + pos: position{line: 804, col: 16, offset: 25848}, + val: "****", ignoreCase: false, - want: "\"++++\"", + want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, - val: "+", + pos: position{line: 804, col: 23, offset: 25855}, + val: "*", ignoreCase: false, - want: "\"+\"", + want: "\"*\"", }, }, }, @@ -40951,42 +36972,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1097, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1278, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1100, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1281, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40995,9 +37016,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -41007,15 +37028,15 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1029, col: 5, offset: 31850}, - run: (*parser).callonListContinuationElement1107, + pos: position{line: 1086, col: 5, offset: 33288}, + run: (*parser).callonListContinuationElement1288, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -41026,434 +37047,144 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1044, col: 5, offset: 32167}, - run: (*parser).callonListContinuationElement1110, + pos: position{line: 2701, col: 18, offset: 85868}, + run: (*parser).callonListContinuationElement1291, expr: &seqExpr{ - pos: position{line: 1044, col: 5, offset: 32167}, + pos: position{line: 2701, col: 18, offset: 85868}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1044, col: 5, offset: 32167}, - label: "start", + &choiceExpr{ + pos: position{line: 2702, col: 9, offset: 85878}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2702, col: 9, offset: 85878}, + val: "'''", + ignoreCase: false, + want: "\"'''\"", + }, + &litMatcher{ + pos: position{line: 2703, col: 11, offset: 85914}, + val: "***", + ignoreCase: false, + want: "\"***\"", + }, + &litMatcher{ + pos: position{line: 2703, col: 19, offset: 85922}, + val: "* * *", + ignoreCase: false, + want: "\"* * *\"", + }, + &litMatcher{ + pos: position{line: 2703, col: 29, offset: 85932}, + val: "---", + ignoreCase: false, + want: "\"---\"", + }, + &litMatcher{ + pos: position{line: 2703, col: 37, offset: 85940}, + val: "- - -", + ignoreCase: false, + want: "\"- - -\"", + }, + &litMatcher{ + pos: position{line: 2703, col: 47, offset: 85950}, + val: "___", + ignoreCase: false, + want: "\"___\"", + }, + &litMatcher{ + pos: position{line: 2703, col: 55, offset: 85958}, + val: "_ _ _", + ignoreCase: false, + want: "\"_ _ _\"", + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2704, col: 11, offset: 86016}, expr: &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonListContinuationElement1113, - expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonListContinuationElement1116, - expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, - val: "____", - ignoreCase: false, - want: "\"____\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, - expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1302, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1305, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1122, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1125, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, - &andCodeExpr{ - pos: position{line: 1045, col: 5, offset: 32204}, - run: (*parser).callonListContinuationElement1132, - }, - &labeledExpr{ - pos: position{line: 1048, col: 5, offset: 32296}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 1063, col: 4, offset: 32677}, - expr: &actionExpr{ - pos: position{line: 1063, col: 5, offset: 32678}, - run: (*parser).callonListContinuationElement1135, - expr: &seqExpr{ - pos: position{line: 1063, col: 5, offset: 32678}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1063, col: 5, offset: 32678}, - expr: &choiceExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, - label: "end", - expr: &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonListContinuationElement1141, - expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonListContinuationElement1144, - expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, - val: "____", - ignoreCase: false, - want: "\"____\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, - expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1150, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1153, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1057, col: 5, offset: 32553}, - run: (*parser).callonListContinuationElement1160, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1313, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &labeledExpr{ - pos: position{line: 1064, col: 5, offset: 32706}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement1164, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement1170, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1174, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 1049, col: 5, offset: 32328}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 1049, col: 9, offset: 32332}, - expr: &choiceExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1056, col: 5, offset: 32524}, - label: "end", - expr: &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonListContinuationElement1186, - expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonListContinuationElement1189, - expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, - val: "____", - ignoreCase: false, - want: "\"____\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, - expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1195, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1198, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1057, col: 5, offset: 32553}, - run: (*parser).callonListContinuationElement1205, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -41461,885 +37192,300 @@ var g = &grammar{ }, }, }, + &ruleRefExpr{ + pos: position{line: 1549, col: 11, offset: 49993}, + name: "ImageBlock", + }, &actionExpr{ - pos: position{line: 1072, col: 5, offset: 32861}, - run: (*parser).callonListContinuationElement1208, + pos: position{line: 2592, col: 5, offset: 82805}, + run: (*parser).callonListContinuationElement1321, expr: &seqExpr{ - pos: position{line: 1072, col: 5, offset: 32861}, + pos: position{line: 2592, col: 5, offset: 82805}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1072, col: 5, offset: 32861}, - label: "start", + &litMatcher{ + pos: position{line: 2598, col: 19, offset: 82962}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonListContinuationElement1211, - expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonListContinuationElement1214, - expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, - val: "****", - ignoreCase: false, - want: "\"****\"", + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1325, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1328, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2593, col: 5, offset: 82829}, + label: "lines", + expr: &zeroOrMoreExpr{ + pos: position{line: 2593, col: 11, offset: 82835}, + expr: &choiceExpr{ + pos: position{line: 2593, col: 12, offset: 82836}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement1338, + expr: &seqExpr{ + pos: position{line: 677, col: 14, offset: 21486}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, - &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, - expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, - val: "*", + }, + &zeroOrMoreExpr{ + pos: position{line: 677, col: 21, offset: 21493}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1343, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"*\"", + inverted: false, }, }, }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1220, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1223, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1346, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, }, }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1073, col: 5, offset: 32900}, - run: (*parser).callonListContinuationElement1230, - }, - &labeledExpr{ - pos: position{line: 1076, col: 5, offset: 32992}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 1091, col: 4, offset: 33389}, - expr: &actionExpr{ - pos: position{line: 1091, col: 5, offset: 33390}, - run: (*parser).callonListContinuationElement1233, - expr: &seqExpr{ - pos: position{line: 1091, col: 5, offset: 33390}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1091, col: 5, offset: 33390}, - expr: &choiceExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, - label: "end", - expr: &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonListContinuationElement1239, - expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonListContinuationElement1242, - expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, - val: "****", - ignoreCase: false, - want: "\"****\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, - expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1248, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &actionExpr{ + pos: position{line: 2605, col: 5, offset: 83081}, + run: (*parser).callonListContinuationElement1353, + expr: &seqExpr{ + pos: position{line: 2605, col: 5, offset: 83081}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2605, col: 5, offset: 83081}, + expr: &choiceExpr{ + pos: position{line: 2602, col: 22, offset: 83042}, + alternatives: []interface{}{ + &seqExpr{ + pos: position{line: 2598, col: 19, offset: 82962}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2598, col: 19, offset: 82962}, + val: "|===", + ignoreCase: false, + want: "\"|===\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 2598, col: 26, offset: 82969}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1360, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1251, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1363, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, - &andCodeExpr{ - pos: position{line: 1085, col: 5, offset: 33263}, - run: (*parser).callonListContinuationElement1258, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1092, col: 5, offset: 33420}, - label: "line", - expr: &actionExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - run: (*parser).callonListContinuationElement1262, - expr: &seqExpr{ - pos: position{line: 810, col: 5, offset: 26062}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 810, col: 5, offset: 26062}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 811, col: 5, offset: 26135}, - label: "content", - expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement1268, - expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1272, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1077, col: 5, offset: 33026}, - label: "end", - expr: &zeroOrOneExpr{ - pos: position{line: 1077, col: 9, offset: 33030}, - expr: &choiceExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1084, col: 5, offset: 33232}, - label: "end", - expr: &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonListContinuationElement1284, - expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonListContinuationElement1287, - expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, - val: "****", - ignoreCase: false, - want: "\"****\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, - expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1293, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1296, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1085, col: 5, offset: 33263}, - run: (*parser).callonListContinuationElement1303, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2786, col: 18, offset: 88507}, - run: (*parser).callonListContinuationElement1306, - expr: &seqExpr{ - pos: position{line: 2786, col: 18, offset: 88507}, - exprs: []interface{}{ - &choiceExpr{ - pos: position{line: 2787, col: 9, offset: 88517}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2787, col: 9, offset: 88517}, - val: "'''", - ignoreCase: false, - want: "\"'''\"", - }, - &litMatcher{ - pos: position{line: 2788, col: 11, offset: 88553}, - val: "***", - ignoreCase: false, - want: "\"***\"", - }, - &litMatcher{ - pos: position{line: 2788, col: 19, offset: 88561}, - val: "* * *", - ignoreCase: false, - want: "\"* * *\"", - }, - &litMatcher{ - pos: position{line: 2788, col: 29, offset: 88571}, - val: "---", - ignoreCase: false, - want: "\"---\"", - }, - &litMatcher{ - pos: position{line: 2788, col: 37, offset: 88579}, - val: "- - -", - ignoreCase: false, - want: "\"- - -\"", - }, - &litMatcher{ - pos: position{line: 2788, col: 47, offset: 88589}, - val: "___", - ignoreCase: false, - want: "\"___\"", - }, - &litMatcher{ - pos: position{line: 2788, col: 55, offset: 88597}, - val: "_ _ _", - ignoreCase: false, - want: "\"_ _ _\"", - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 2789, col: 11, offset: 88655}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1317, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1320, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1328, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 1557, col: 11, offset: 50277}, - name: "ImageBlock", - }, - &actionExpr{ - pos: position{line: 2677, col: 5, offset: 85446}, - run: (*parser).callonListContinuationElement1336, - expr: &seqExpr{ - pos: position{line: 2677, col: 5, offset: 85446}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, - val: "|===", - ignoreCase: false, - want: "\"|===\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1340, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1343, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2678, col: 5, offset: 85470}, - label: "lines", - expr: &zeroOrMoreExpr{ - pos: position{line: 2678, col: 11, offset: 85476}, - expr: &choiceExpr{ - pos: position{line: 2678, col: 12, offset: 85477}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement1353, - expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1359, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1362, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2690, col: 5, offset: 85722}, - run: (*parser).callonListContinuationElement1369, - expr: &seqExpr{ - pos: position{line: 2690, col: 5, offset: 85722}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2690, col: 5, offset: 85722}, - expr: &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, - alternatives: []interface{}{ - &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, - val: "|===", - ignoreCase: false, - want: "\"|===\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1376, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1379, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, &labeledExpr{ - pos: position{line: 2691, col: 5, offset: 85745}, + pos: position{line: 2606, col: 5, offset: 83104}, label: "content", expr: &choiceExpr{ - pos: position{line: 2692, col: 9, offset: 85763}, + pos: position{line: 2607, col: 9, offset: 83122}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2692, col: 10, offset: 85764}, - run: (*parser).callonListContinuationElement1390, + pos: position{line: 2607, col: 10, offset: 83123}, + run: (*parser).callonListContinuationElement1374, expr: &labeledExpr{ - pos: position{line: 2692, col: 10, offset: 85764}, + pos: position{line: 2607, col: 10, offset: 83123}, label: "cells", expr: &choiceExpr{ - pos: position{line: 2692, col: 17, offset: 85771}, + pos: position{line: 2607, col: 17, offset: 83130}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2700, col: 21, offset: 85967}, - run: (*parser).callonListContinuationElement1393, + pos: position{line: 2615, col: 21, offset: 83326}, + run: (*parser).callonListContinuationElement1377, expr: &seqExpr{ - pos: position{line: 2700, col: 21, offset: 85967}, + pos: position{line: 2615, col: 21, offset: 83326}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2700, col: 21, offset: 85967}, + pos: position{line: 2615, col: 21, offset: 83326}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2700, col: 27, offset: 85973}, + pos: position{line: 2615, col: 27, offset: 83332}, expr: &actionExpr{ - pos: position{line: 2705, col: 5, offset: 86048}, - run: (*parser).callonListContinuationElement1397, + pos: position{line: 2620, col: 5, offset: 83407}, + run: (*parser).callonListContinuationElement1381, expr: &seqExpr{ - pos: position{line: 2705, col: 5, offset: 86048}, + pos: position{line: 2620, col: 5, offset: 83407}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2705, col: 5, offset: 86048}, + pos: position{line: 2620, col: 5, offset: 83407}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2705, col: 9, offset: 86052}, + pos: position{line: 2620, col: 9, offset: 83411}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1401, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1385, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 2705, col: 16, offset: 86059}, + pos: position{line: 2620, col: 16, offset: 83418}, label: "content", expr: &actionExpr{ - pos: position{line: 2711, col: 5, offset: 86258}, - run: (*parser).callonListContinuationElement1404, + pos: position{line: 2626, col: 5, offset: 83617}, + run: (*parser).callonListContinuationElement1388, expr: &labeledExpr{ - pos: position{line: 2711, col: 5, offset: 86258}, + pos: position{line: 2626, col: 5, offset: 83617}, label: "content", expr: &actionExpr{ - pos: position{line: 2711, col: 14, offset: 86267}, - run: (*parser).callonListContinuationElement1406, + pos: position{line: 2626, col: 14, offset: 83626}, + run: (*parser).callonListContinuationElement1390, expr: &zeroOrMoreExpr{ - pos: position{line: 2711, col: 14, offset: 86267}, + pos: position{line: 2626, col: 14, offset: 83626}, expr: &charClassMatcher{ - pos: position{line: 2711, col: 14, offset: 86267}, + pos: position{line: 2626, col: 14, offset: 83626}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -42356,28 +37502,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1410, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1394, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42386,9 +37532,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -42397,70 +37543,70 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2717, col: 24, offset: 86403}, - run: (*parser).callonListContinuationElement1417, + pos: position{line: 2632, col: 24, offset: 83762}, + run: (*parser).callonListContinuationElement1401, expr: &labeledExpr{ - pos: position{line: 2717, col: 24, offset: 86403}, + pos: position{line: 2632, col: 24, offset: 83762}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2717, col: 30, offset: 86409}, + pos: position{line: 2632, col: 30, offset: 83768}, expr: &actionExpr{ - pos: position{line: 2722, col: 5, offset: 86485}, - run: (*parser).callonListContinuationElement1420, + pos: position{line: 2637, col: 5, offset: 83844}, + run: (*parser).callonListContinuationElement1404, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 86485}, + pos: position{line: 2637, col: 5, offset: 83844}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2722, col: 5, offset: 86485}, + pos: position{line: 2637, col: 5, offset: 83844}, expr: &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, + pos: position{line: 2602, col: 22, offset: 83042}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1427, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1411, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1430, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1414, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42469,9 +37615,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -42479,68 +37625,65 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, ¬Expr{ - pos: position{line: 2723, col: 5, offset: 86508}, + pos: position{line: 2638, col: 5, offset: 83867}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement1440, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement1424, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1446, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1429, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1449, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1432, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42549,9 +37692,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -42561,17 +37704,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2724, col: 5, offset: 86523}, + pos: position{line: 2639, col: 5, offset: 83882}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2724, col: 12, offset: 86530}, + pos: position{line: 2639, col: 12, offset: 83889}, expr: &actionExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, - run: (*parser).callonListContinuationElement1458, + pos: position{line: 2656, col: 20, offset: 84353}, + run: (*parser).callonListContinuationElement1441, expr: &zeroOrMoreExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, expr: &charClassMatcher{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -42582,47 +37725,47 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2724, col: 31, offset: 86549}, + pos: position{line: 2639, col: 31, offset: 83908}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2724, col: 35, offset: 86553}, + pos: position{line: 2639, col: 35, offset: 83912}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1463, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1446, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &zeroOrOneExpr{ - pos: position{line: 2724, col: 42, offset: 86560}, + pos: position{line: 2639, col: 42, offset: 83919}, expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1466, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1449, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42632,67 +37775,67 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2724, col: 51, offset: 86569}, + pos: position{line: 2639, col: 51, offset: 83928}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 2730, col: 5, offset: 86728}, + pos: position{line: 2645, col: 5, offset: 84087}, expr: &actionExpr{ - pos: position{line: 2731, col: 9, offset: 86738}, - run: (*parser).callonListContinuationElement1473, + pos: position{line: 2646, col: 9, offset: 84097}, + run: (*parser).callonListContinuationElement1456, expr: &seqExpr{ - pos: position{line: 2731, col: 9, offset: 86738}, + pos: position{line: 2646, col: 9, offset: 84097}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2731, col: 9, offset: 86738}, + pos: position{line: 2646, col: 9, offset: 84097}, expr: &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, + pos: position{line: 2602, col: 22, offset: 83042}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1480, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1463, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1483, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1466, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42701,9 +37844,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -42711,68 +37854,65 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, ¬Expr{ - pos: position{line: 2732, col: 9, offset: 86765}, + pos: position{line: 2647, col: 9, offset: 84124}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement1493, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement1476, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1499, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1481, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1502, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1484, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42781,9 +37921,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -42793,22 +37933,22 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2733, col: 9, offset: 86784}, + pos: position{line: 2648, col: 9, offset: 84143}, expr: &seqExpr{ - pos: position{line: 2733, col: 11, offset: 86786}, + pos: position{line: 2648, col: 11, offset: 84145}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2733, col: 11, offset: 86786}, + pos: position{line: 2648, col: 11, offset: 84145}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2733, col: 18, offset: 86793}, + pos: position{line: 2648, col: 18, offset: 84152}, expr: &actionExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, - run: (*parser).callonListContinuationElement1513, + pos: position{line: 2656, col: 20, offset: 84353}, + run: (*parser).callonListContinuationElement1495, expr: &zeroOrMoreExpr{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, expr: &charClassMatcher{ - pos: position{line: 2741, col: 20, offset: 86994}, + pos: position{line: 2656, col: 20, offset: 84353}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -42819,7 +37959,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2733, col: 37, offset: 86812}, + pos: position{line: 2648, col: 37, offset: 84171}, val: "|", ignoreCase: false, want: "\"|\"", @@ -42828,15 +37968,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2734, col: 9, offset: 86825}, + pos: position{line: 2649, col: 9, offset: 84184}, label: "content", expr: &actionExpr{ - pos: position{line: 2734, col: 18, offset: 86834}, - run: (*parser).callonListContinuationElement1518, + pos: position{line: 2649, col: 18, offset: 84193}, + run: (*parser).callonListContinuationElement1500, expr: &zeroOrMoreExpr{ - pos: position{line: 2734, col: 18, offset: 86834}, + pos: position{line: 2649, col: 18, offset: 84193}, expr: &charClassMatcher{ - pos: position{line: 2734, col: 18, offset: 86834}, + pos: position{line: 2649, col: 18, offset: 84193}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -42846,30 +37986,30 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 2736, col: 12, offset: 86896}, + pos: position{line: 2651, col: 12, offset: 84255}, expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1523, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1505, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42878,9 +38018,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -42902,57 +38042,54 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement1530, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement1512, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1536, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1517, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1539, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1520, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42961,9 +38098,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -42982,54 +38119,54 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2687, col: 22, offset: 85683}, + pos: position{line: 2602, col: 22, offset: 83042}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2683, col: 19, offset: 85603}, + pos: position{line: 2598, col: 19, offset: 82962}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2683, col: 26, offset: 85610}, + pos: position{line: 2598, col: 26, offset: 82969}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1550, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1531, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1553, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1534, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43038,9 +38175,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -43048,9 +38185,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -43059,36 +38196,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonListContinuationElement1562, + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonListContinuationElement1543, expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, + pos: position{line: 2466, col: 22, offset: 79269}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, + pos: position{line: 2471, col: 31, offset: 79490}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, + pos: position{line: 2471, col: 36, offset: 79495}, expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, + pos: position{line: 2471, col: 37, offset: 79496}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, + pos: position{line: 2466, col: 49, offset: 79296}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonListContinuationElement1568, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonListContinuationElement1549, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -43098,28 +38235,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1572, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1553, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43128,9 +38265,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -43139,96 +38276,96 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1570, col: 5, offset: 50707}, - run: (*parser).callonListContinuationElement1579, + pos: position{line: 1562, col: 5, offset: 50423}, + run: (*parser).callonListContinuationElement1560, expr: &seqExpr{ - pos: position{line: 1570, col: 5, offset: 50707}, + pos: position{line: 1562, col: 5, offset: 50423}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1570, col: 5, offset: 50707}, + pos: position{line: 1562, col: 5, offset: 50423}, label: "style", expr: &zeroOrOneExpr{ - pos: position{line: 1570, col: 11, offset: 50713}, + pos: position{line: 1562, col: 11, offset: 50429}, expr: &actionExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, - run: (*parser).callonListContinuationElement1583, + pos: position{line: 1726, col: 5, offset: 55741}, + run: (*parser).callonListContinuationElement1564, expr: &seqExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, + pos: position{line: 1726, col: 5, offset: 55741}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, - run: (*parser).callonListContinuationElement1585, + pos: position{line: 1726, col: 5, offset: 55741}, + run: (*parser).callonListContinuationElement1566, }, &labeledExpr{ - pos: position{line: 1737, col: 5, offset: 56093}, + pos: position{line: 1729, col: 5, offset: 55804}, label: "style", expr: &choiceExpr{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1737, col: 12, offset: 56100}, - run: (*parser).callonListContinuationElement1588, + pos: position{line: 1729, col: 12, offset: 55811}, + run: (*parser).callonListContinuationElement1569, expr: &litMatcher{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, val: "TIP: ", ignoreCase: false, want: "\"TIP: \"", }, }, &actionExpr{ - pos: position{line: 1739, col: 13, offset: 56156}, - run: (*parser).callonListContinuationElement1590, + pos: position{line: 1731, col: 13, offset: 55867}, + run: (*parser).callonListContinuationElement1571, expr: &litMatcher{ - pos: position{line: 1739, col: 13, offset: 56156}, + pos: position{line: 1731, col: 13, offset: 55867}, val: "NOTE: ", ignoreCase: false, want: "\"NOTE: \"", }, }, &actionExpr{ - pos: position{line: 1741, col: 13, offset: 56214}, - run: (*parser).callonListContinuationElement1592, + pos: position{line: 1733, col: 13, offset: 55925}, + run: (*parser).callonListContinuationElement1573, expr: &litMatcher{ - pos: position{line: 1741, col: 13, offset: 56214}, + pos: position{line: 1733, col: 13, offset: 55925}, val: "IMPORTANT: ", ignoreCase: false, want: "\"IMPORTANT: \"", }, }, &actionExpr{ - pos: position{line: 1743, col: 13, offset: 56282}, - run: (*parser).callonListContinuationElement1594, + pos: position{line: 1735, col: 13, offset: 55993}, + run: (*parser).callonListContinuationElement1575, expr: &litMatcher{ - pos: position{line: 1743, col: 13, offset: 56282}, + pos: position{line: 1735, col: 13, offset: 55993}, val: "WARNING: ", ignoreCase: false, want: "\"WARNING: \"", }, }, &actionExpr{ - pos: position{line: 1745, col: 13, offset: 56346}, - run: (*parser).callonListContinuationElement1596, + pos: position{line: 1737, col: 13, offset: 56057}, + run: (*parser).callonListContinuationElement1577, expr: &litMatcher{ - pos: position{line: 1745, col: 13, offset: 56346}, + pos: position{line: 1737, col: 13, offset: 56057}, val: "CAUTION: ", ignoreCase: false, want: "\"CAUTION: \"", }, }, &actionExpr{ - pos: position{line: 1747, col: 13, offset: 56410}, - run: (*parser).callonListContinuationElement1598, + pos: position{line: 1739, col: 13, offset: 56121}, + run: (*parser).callonListContinuationElement1579, expr: &andExpr{ - pos: position{line: 1747, col: 13, offset: 56410}, + pos: position{line: 1739, col: 13, offset: 56121}, expr: &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement1600, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement1581, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -43245,68 +38382,65 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1571, col: 5, offset: 50736}, + pos: position{line: 1563, col: 5, offset: 50452}, label: "content", expr: &actionExpr{ - pos: position{line: 1514, col: 5, offset: 49088}, - run: (*parser).callonListContinuationElement1604, + pos: position{line: 1506, col: 5, offset: 48802}, + run: (*parser).callonListContinuationElement1585, expr: &seqExpr{ - pos: position{line: 1514, col: 5, offset: 49088}, + pos: position{line: 1506, col: 5, offset: 48802}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1514, col: 5, offset: 49088}, + pos: position{line: 1506, col: 5, offset: 48802}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonListContinuationElement1607, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonListContinuationElement1588, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1613, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1593, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1616, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1596, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43315,9 +38449,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -43327,50 +38461,50 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1515, col: 5, offset: 49103}, + pos: position{line: 1507, col: 5, offset: 48817}, expr: &seqExpr{ - pos: position{line: 1545, col: 27, offset: 49929}, + pos: position{line: 1537, col: 27, offset: 49643}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1545, col: 27, offset: 49929}, + pos: position{line: 1537, col: 27, offset: 49643}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1545, col: 31, offset: 49933}, + pos: position{line: 1537, col: 31, offset: 49647}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1627, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1607, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1629, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1609, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43382,49 +38516,49 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1516, col: 5, offset: 49131}, + pos: position{line: 1508, col: 5, offset: 48845}, expr: &actionExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, - run: (*parser).callonListContinuationElement1635, + pos: position{line: 1578, col: 5, offset: 50862}, + run: (*parser).callonListContinuationElement1615, expr: &seqExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 1578, col: 5, offset: 50862}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1586, col: 5, offset: 51146}, + pos: position{line: 1578, col: 5, offset: 50862}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1638, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1618, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1586, col: 12, offset: 51153}, + pos: position{line: 1578, col: 12, offset: 50869}, label: "prefix", expr: &choiceExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, - run: (*parser).callonListContinuationElement1642, + pos: position{line: 1580, col: 9, offset: 50932}, + run: (*parser).callonListContinuationElement1622, expr: &seqExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1588, col: 9, offset: 51216}, + pos: position{line: 1580, col: 9, offset: 50932}, label: "depth", expr: &actionExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, - run: (*parser).callonListContinuationElement1645, + pos: position{line: 1580, col: 16, offset: 50939}, + run: (*parser).callonListContinuationElement1625, expr: &oneOrMoreExpr{ - pos: position{line: 1588, col: 16, offset: 51223}, + pos: position{line: 1580, col: 16, offset: 50939}, expr: &litMatcher{ - pos: position{line: 1588, col: 17, offset: 51224}, + pos: position{line: 1580, col: 17, offset: 50940}, val: ".", ignoreCase: false, want: "\".\"", @@ -43433,22 +38567,22 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1592, col: 9, offset: 51324}, - run: (*parser).callonListContinuationElement1648, + pos: position{line: 1584, col: 9, offset: 51040}, + run: (*parser).callonListContinuationElement1628, }, }, }, }, &actionExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, - run: (*parser).callonListContinuationElement1649, + pos: position{line: 1603, col: 11, offset: 51757}, + run: (*parser).callonListContinuationElement1629, expr: &seqExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, + pos: position{line: 1603, col: 11, offset: 51757}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1611, col: 11, offset: 52041}, + pos: position{line: 1603, col: 11, offset: 51757}, expr: &charClassMatcher{ - pos: position{line: 1611, col: 12, offset: 52042}, + pos: position{line: 1603, col: 12, offset: 51758}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -43456,7 +38590,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1611, col: 20, offset: 52050}, + pos: position{line: 1603, col: 20, offset: 51766}, val: ".", ignoreCase: false, want: "\".\"", @@ -43465,20 +38599,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, - run: (*parser).callonListContinuationElement1654, + pos: position{line: 1605, col: 13, offset: 51883}, + run: (*parser).callonListContinuationElement1634, expr: &seqExpr{ - pos: position{line: 1613, col: 13, offset: 52167}, + pos: position{line: 1605, col: 13, offset: 51883}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1613, col: 14, offset: 52168}, + pos: position{line: 1605, col: 14, offset: 51884}, val: "[a-z]", ranges: []rune{'a', 'z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1613, col: 21, offset: 52175}, + pos: position{line: 1605, col: 21, offset: 51891}, val: ".", ignoreCase: false, want: "\".\"", @@ -43487,20 +38621,20 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, - run: (*parser).callonListContinuationElement1658, + pos: position{line: 1607, col: 13, offset: 52011}, + run: (*parser).callonListContinuationElement1638, expr: &seqExpr{ - pos: position{line: 1615, col: 13, offset: 52295}, + pos: position{line: 1607, col: 13, offset: 52011}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1615, col: 14, offset: 52296}, + pos: position{line: 1607, col: 14, offset: 52012}, val: "[A-Z]", ranges: []rune{'A', 'Z'}, ignoreCase: false, inverted: false, }, &litMatcher{ - pos: position{line: 1615, col: 21, offset: 52303}, + pos: position{line: 1607, col: 21, offset: 52019}, val: ".", ignoreCase: false, want: "\".\"", @@ -43509,15 +38643,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, - run: (*parser).callonListContinuationElement1662, + pos: position{line: 1609, col: 13, offset: 52139}, + run: (*parser).callonListContinuationElement1642, expr: &seqExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, + pos: position{line: 1609, col: 13, offset: 52139}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1617, col: 13, offset: 52423}, + pos: position{line: 1609, col: 13, offset: 52139}, expr: &charClassMatcher{ - pos: position{line: 1617, col: 14, offset: 52424}, + pos: position{line: 1609, col: 14, offset: 52140}, val: "[ivxdlcm]", chars: []rune{'i', 'v', 'x', 'd', 'l', 'c', 'm'}, ignoreCase: false, @@ -43525,7 +38659,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1617, col: 26, offset: 52436}, + pos: position{line: 1609, col: 26, offset: 52152}, val: ")", ignoreCase: false, want: "\")\"", @@ -43534,15 +38668,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, - run: (*parser).callonListContinuationElement1667, + pos: position{line: 1611, col: 13, offset: 52272}, + run: (*parser).callonListContinuationElement1647, expr: &seqExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, + pos: position{line: 1611, col: 13, offset: 52272}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 1619, col: 13, offset: 52556}, + pos: position{line: 1611, col: 13, offset: 52272}, expr: &charClassMatcher{ - pos: position{line: 1619, col: 14, offset: 52557}, + pos: position{line: 1611, col: 14, offset: 52273}, val: "[IVXDLCM]", chars: []rune{'I', 'V', 'X', 'D', 'L', 'C', 'M'}, ignoreCase: false, @@ -43550,7 +38684,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1619, col: 26, offset: 52569}, + pos: position{line: 1611, col: 26, offset: 52285}, val: ")", ignoreCase: false, want: "\")\"", @@ -43562,14 +38696,14 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement1672, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement1652, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -43580,46 +38714,46 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1517, col: 5, offset: 49161}, + pos: position{line: 1509, col: 5, offset: 48875}, expr: &actionExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, - run: (*parser).callonListContinuationElement1676, + pos: position{line: 1628, col: 5, offset: 52824}, + run: (*parser).callonListContinuationElement1656, expr: &seqExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 1628, col: 5, offset: 52824}, exprs: []interface{}{ &zeroOrMoreExpr{ - pos: position{line: 1636, col: 5, offset: 53108}, + pos: position{line: 1628, col: 5, offset: 52824}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1679, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1659, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1637, col: 5, offset: 53120}, + pos: position{line: 1629, col: 5, offset: 52836}, label: "style", expr: &actionExpr{ - pos: position{line: 1638, col: 9, offset: 53136}, - run: (*parser).callonListContinuationElement1682, + pos: position{line: 1630, col: 9, offset: 52852}, + run: (*parser).callonListContinuationElement1662, expr: &choiceExpr{ - pos: position{line: 1638, col: 10, offset: 53137}, + pos: position{line: 1630, col: 10, offset: 52853}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 1638, col: 11, offset: 53138}, + pos: position{line: 1630, col: 11, offset: 52854}, val: "-", ignoreCase: false, want: "\"-\"", }, &oneOrMoreExpr{ - pos: position{line: 1638, col: 18, offset: 53145}, + pos: position{line: 1630, col: 18, offset: 52861}, expr: &litMatcher{ - pos: position{line: 1638, col: 19, offset: 53146}, + pos: position{line: 1630, col: 19, offset: 52862}, val: "*", ignoreCase: false, want: "\"*\"", @@ -43630,18 +38764,18 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1641, col: 7, offset: 53236}, - run: (*parser).callonListContinuationElement1687, + pos: position{line: 1633, col: 7, offset: 52952}, + run: (*parser).callonListContinuationElement1667, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement1688, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement1668, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -43652,29 +38786,29 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1518, col: 5, offset: 49193}, + pos: position{line: 1510, col: 5, offset: 48907}, expr: &actionExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, - run: (*parser).callonListContinuationElement1692, + pos: position{line: 1717, col: 5, offset: 55356}, + run: (*parser).callonListContinuationElement1672, expr: &seqExpr{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 1717, col: 5, offset: 55356}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1725, col: 5, offset: 55645}, + pos: position{line: 1717, col: 5, offset: 55356}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1725, col: 9, offset: 55649}, + pos: position{line: 1717, col: 9, offset: 55360}, label: "ref", expr: &actionExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, - run: (*parser).callonListContinuationElement1696, + pos: position{line: 1717, col: 14, offset: 55365}, + run: (*parser).callonListContinuationElement1676, expr: &oneOrMoreExpr{ - pos: position{line: 1725, col: 14, offset: 55654}, + pos: position{line: 1717, col: 14, offset: 55365}, expr: &charClassMatcher{ - pos: position{line: 1725, col: 14, offset: 55654}, + pos: position{line: 1717, col: 14, offset: 55365}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -43684,20 +38818,20 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1725, col: 62, offset: 55702}, + pos: position{line: 1717, col: 62, offset: 55413}, val: ">", ignoreCase: false, want: "\">\"", }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonListContinuationElement1700, + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonListContinuationElement1680, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -43708,36 +38842,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1519, col: 5, offset: 49223}, + pos: position{line: 1511, col: 5, offset: 48937}, expr: &seqExpr{ - pos: position{line: 1519, col: 7, offset: 49225}, + pos: position{line: 1511, col: 7, offset: 48939}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, - run: (*parser).callonListContinuationElement1705, + pos: position{line: 1663, col: 5, offset: 53843}, + run: (*parser).callonListContinuationElement1685, expr: &oneOrMoreExpr{ - pos: position{line: 1671, col: 5, offset: 54127}, + pos: position{line: 1663, col: 5, offset: 53843}, expr: &seqExpr{ - pos: position{line: 1671, col: 6, offset: 54128}, + pos: position{line: 1663, col: 6, offset: 53844}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1671, col: 6, offset: 54128}, + pos: position{line: 1663, col: 6, offset: 53844}, expr: &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonListContinuationElement1709, + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonListContinuationElement1689, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, label: "separator", expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonListContinuationElement1712, + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonListContinuationElement1692, expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, + pos: position{line: 1668, col: 16, offset: 54005}, expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, + pos: position{line: 1668, col: 17, offset: 54006}, val: ":", ignoreCase: false, want: "\":\"", @@ -43746,38 +38880,38 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonListContinuationElement1715, + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonListContinuationElement1695, }, }, }, }, }, ¬Expr{ - pos: position{line: 1671, col: 35, offset: 54157}, + pos: position{line: 1663, col: 35, offset: 53873}, expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1718, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1698, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43786,37 +38920,37 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, }, }, &anyMatcher{ - line: 1671, col: 40, offset: 54162, + line: 1663, col: 40, offset: 53878, }, }, }, }, }, &actionExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, - run: (*parser).callonListContinuationElement1726, + pos: position{line: 1668, col: 5, offset: 53994}, + run: (*parser).callonListContinuationElement1706, expr: &seqExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1676, col: 5, offset: 54278}, + pos: position{line: 1668, col: 5, offset: 53994}, label: "separator", expr: &actionExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, - run: (*parser).callonListContinuationElement1729, + pos: position{line: 1668, col: 16, offset: 54005}, + run: (*parser).callonListContinuationElement1709, expr: &oneOrMoreExpr{ - pos: position{line: 1676, col: 16, offset: 54289}, + pos: position{line: 1668, col: 16, offset: 54005}, expr: &litMatcher{ - pos: position{line: 1676, col: 17, offset: 54290}, + pos: position{line: 1668, col: 17, offset: 54006}, val: ":", ignoreCase: false, want: "\":\"", @@ -43825,8 +38959,8 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1679, col: 5, offset: 54347}, - run: (*parser).callonListContinuationElement1732, + pos: position{line: 1671, col: 5, offset: 54063}, + run: (*parser).callonListContinuationElement1712, }, }, }, @@ -43835,17 +38969,17 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1520, col: 5, offset: 49281}, + pos: position{line: 1512, col: 5, offset: 48995}, expr: &actionExpr{ - pos: position{line: 723, col: 5, offset: 23016}, - run: (*parser).callonListContinuationElement1734, + pos: position{line: 724, col: 5, offset: 23039}, + run: (*parser).callonListContinuationElement1714, expr: &seqExpr{ - pos: position{line: 723, col: 5, offset: 23016}, + pos: position{line: 724, col: 5, offset: 23039}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 723, col: 5, offset: 23016}, + pos: position{line: 724, col: 5, offset: 23039}, expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, + pos: position{line: 2746, col: 13, offset: 87373}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -43853,36 +38987,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 724, col: 5, offset: 23046}, + pos: position{line: 725, col: 5, offset: 23069}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 725, col: 9, offset: 23066}, + pos: position{line: 726, col: 9, offset: 23089}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonListContinuationElement1740, + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonListContinuationElement1720, expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonListContinuationElement1743, + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonListContinuationElement1723, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, val: "/", ignoreCase: false, want: "\"/\"", @@ -43893,42 +39027,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, + pos: position{line: 742, col: 8, offset: 23683}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1749, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1729, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1752, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1732, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43937,9 +39071,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -43948,30 +39082,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonListContinuationElement1759, + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonListContinuationElement1739, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonListContinuationElement1762, + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonListContinuationElement1742, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, val: "=", ignoreCase: false, want: "\"=\"", @@ -43982,42 +39116,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 749, col: 8, offset: 23931}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1768, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1748, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1771, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1751, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44026,9 +39160,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44037,27 +39171,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 26, offset: 24294}, - run: (*parser).callonListContinuationElement1778, + pos: position{line: 760, col: 26, offset: 24317}, + run: (*parser).callonListContinuationElement1758, expr: &seqExpr{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 760, col: 26, offset: 24317}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 760, col: 26, offset: 24317}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 759, col: 32, offset: 24300}, + pos: position{line: 760, col: 32, offset: 24323}, label: "language", expr: &actionExpr{ - pos: position{line: 763, col: 13, offset: 24430}, - run: (*parser).callonListContinuationElement1782, + pos: position{line: 764, col: 13, offset: 24453}, + run: (*parser).callonListContinuationElement1762, expr: &oneOrMoreExpr{ - pos: position{line: 763, col: 14, offset: 24431}, + pos: position{line: 764, col: 14, offset: 24454}, expr: &charClassMatcher{ - pos: position{line: 763, col: 14, offset: 24431}, + pos: position{line: 764, col: 14, offset: 24454}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -44067,42 +39201,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 52, offset: 24320}, + pos: position{line: 760, col: 52, offset: 24343}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1786, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1766, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1789, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1769, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44111,9 +39245,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44122,30 +39256,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonListContinuationElement1796, + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonListContinuationElement1776, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonListContinuationElement1799, + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonListContinuationElement1779, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, val: "`", ignoreCase: false, want: "\"`\"", @@ -44156,42 +39290,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 756, col: 8, offset: 24177}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1805, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1785, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1808, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1788, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44200,9 +39334,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44211,30 +39345,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonListContinuationElement1815, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonListContinuationElement1795, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonListContinuationElement1818, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonListContinuationElement1798, expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, val: "-", ignoreCase: false, want: "\"-\"", @@ -44245,42 +39379,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1824, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1804, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1827, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1807, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44289,9 +39423,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44300,30 +39434,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonListContinuationElement1834, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonListContinuationElement1814, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonListContinuationElement1837, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonListContinuationElement1817, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, val: ".", ignoreCase: false, want: "\".\"", @@ -44334,42 +39468,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1843, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1823, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1846, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1826, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44378,9 +39512,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44389,30 +39523,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonListContinuationElement1853, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonListContinuationElement1833, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonListContinuationElement1856, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonListContinuationElement1836, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, val: "+", ignoreCase: false, want: "\"+\"", @@ -44423,42 +39557,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1862, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1842, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1865, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1845, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44467,9 +39601,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44478,30 +39612,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonListContinuationElement1872, + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonListContinuationElement1852, expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonListContinuationElement1875, + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonListContinuationElement1855, expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, val: "_", ignoreCase: false, want: "\"_\"", @@ -44512,42 +39646,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, + pos: position{line: 799, col: 8, offset: 25693}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1881, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1861, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1884, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1864, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44556,9 +39690,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44567,30 +39701,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonListContinuationElement1891, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonListContinuationElement1871, expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonListContinuationElement1894, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonListContinuationElement1874, expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, val: "*", ignoreCase: false, want: "\"*\"", @@ -44601,42 +39735,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonListContinuationElement1900, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonListContinuationElement1880, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1903, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1883, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44645,9 +39779,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44663,15 +39797,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1521, col: 5, offset: 49301}, + pos: position{line: 1513, col: 5, offset: 49015}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonListContinuationElement1911, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonListContinuationElement1891, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44681,28 +39815,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonListContinuationElement1915, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonListContinuationElement1895, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44711,9 +39845,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -44734,33 +39868,33 @@ var g = &grammar{ }, { name: "Callout", - pos: position{line: 1709, col: 1, offset: 55139}, + pos: position{line: 1701, col: 1, offset: 54855}, expr: &actionExpr{ - pos: position{line: 1711, col: 5, offset: 55217}, + pos: position{line: 1703, col: 5, offset: 54933}, run: (*parser).callonCallout1, expr: &seqExpr{ - pos: position{line: 1711, col: 5, offset: 55217}, + pos: position{line: 1703, col: 5, offset: 54933}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1711, col: 5, offset: 55217}, + pos: position{line: 1703, col: 5, offset: 54933}, run: (*parser).callonCallout3, }, &litMatcher{ - pos: position{line: 1714, col: 5, offset: 55284}, + pos: position{line: 1706, col: 5, offset: 54995}, val: "<", ignoreCase: false, want: "\"<\"", }, &labeledExpr{ - pos: position{line: 1714, col: 9, offset: 55288}, + pos: position{line: 1706, col: 9, offset: 54999}, label: "ref", expr: &actionExpr{ - pos: position{line: 1714, col: 14, offset: 55293}, + pos: position{line: 1706, col: 14, offset: 55004}, run: (*parser).callonCallout6, expr: &oneOrMoreExpr{ - pos: position{line: 1714, col: 14, offset: 55293}, + pos: position{line: 1706, col: 14, offset: 55004}, expr: &charClassMatcher{ - pos: position{line: 1714, col: 14, offset: 55293}, + pos: position{line: 1706, col: 14, offset: 55004}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -44770,50 +39904,50 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1714, col: 62, offset: 55341}, + pos: position{line: 1706, col: 62, offset: 55052}, val: ">", ignoreCase: false, want: "\">\"", }, &zeroOrMoreExpr{ - pos: position{line: 1714, col: 66, offset: 55345}, + pos: position{line: 1706, col: 66, offset: 55056}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, + pos: position{line: 2902, col: 10, offset: 91540}, run: (*parser).callonCallout11, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &andExpr{ - pos: position{line: 1714, col: 73, offset: 55352}, + pos: position{line: 1706, col: 73, offset: 55063}, expr: &choiceExpr{ - pos: position{line: 1714, col: 75, offset: 55354}, + pos: position{line: 1706, col: 75, offset: 55065}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonCallout15, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44822,13 +39956,13 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, &ruleRefExpr{ - pos: position{line: 1714, col: 81, offset: 55360}, + pos: position{line: 1706, col: 81, offset: 55071}, name: "Callout", }, }, @@ -44840,46 +39974,46 @@ var g = &grammar{ }, { name: "ShortcutParagraph", - pos: position{line: 1753, col: 1, offset: 56533}, + pos: position{line: 1745, col: 1, offset: 56244}, expr: &actionExpr{ - pos: position{line: 1755, col: 5, offset: 56607}, + pos: position{line: 1747, col: 5, offset: 56318}, run: (*parser).callonShortcutParagraph1, expr: &seqExpr{ - pos: position{line: 1755, col: 5, offset: 56607}, + pos: position{line: 1747, col: 5, offset: 56318}, exprs: []interface{}{ &andExpr{ - pos: position{line: 1755, col: 5, offset: 56607}, + pos: position{line: 1747, col: 5, offset: 56318}, expr: &seqExpr{ - pos: position{line: 1755, col: 7, offset: 56609}, + pos: position{line: 1747, col: 7, offset: 56320}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, + pos: position{line: 2746, col: 13, offset: 87373}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 1755, col: 16, offset: 56618}, + pos: position{line: 1747, col: 16, offset: 56329}, expr: &seqExpr{ - pos: position{line: 1755, col: 18, offset: 56620}, + pos: position{line: 1747, col: 18, offset: 56331}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 1755, col: 19, offset: 56621}, + pos: position{line: 1747, col: 19, offset: 56332}, val: "[.)]", chars: []rune{'.', ')'}, ignoreCase: false, inverted: false, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, run: (*parser).callonShortcutParagraph9, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -44892,90 +40026,90 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1756, col: 5, offset: 56761}, + pos: position{line: 1748, col: 5, offset: 56472}, label: "style", expr: &zeroOrOneExpr{ - pos: position{line: 1756, col: 11, offset: 56767}, + pos: position{line: 1748, col: 11, offset: 56478}, expr: &actionExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, + pos: position{line: 1726, col: 5, offset: 55741}, run: (*parser).callonShortcutParagraph14, expr: &seqExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, + pos: position{line: 1726, col: 5, offset: 55741}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, + pos: position{line: 1726, col: 5, offset: 55741}, run: (*parser).callonShortcutParagraph16, }, &labeledExpr{ - pos: position{line: 1737, col: 5, offset: 56093}, + pos: position{line: 1729, col: 5, offset: 55804}, label: "style", expr: &choiceExpr{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, run: (*parser).callonShortcutParagraph19, expr: &litMatcher{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, val: "TIP: ", ignoreCase: false, want: "\"TIP: \"", }, }, &actionExpr{ - pos: position{line: 1739, col: 13, offset: 56156}, + pos: position{line: 1731, col: 13, offset: 55867}, run: (*parser).callonShortcutParagraph21, expr: &litMatcher{ - pos: position{line: 1739, col: 13, offset: 56156}, + pos: position{line: 1731, col: 13, offset: 55867}, val: "NOTE: ", ignoreCase: false, want: "\"NOTE: \"", }, }, &actionExpr{ - pos: position{line: 1741, col: 13, offset: 56214}, + pos: position{line: 1733, col: 13, offset: 55925}, run: (*parser).callonShortcutParagraph23, expr: &litMatcher{ - pos: position{line: 1741, col: 13, offset: 56214}, + pos: position{line: 1733, col: 13, offset: 55925}, val: "IMPORTANT: ", ignoreCase: false, want: "\"IMPORTANT: \"", }, }, &actionExpr{ - pos: position{line: 1743, col: 13, offset: 56282}, + pos: position{line: 1735, col: 13, offset: 55993}, run: (*parser).callonShortcutParagraph25, expr: &litMatcher{ - pos: position{line: 1743, col: 13, offset: 56282}, + pos: position{line: 1735, col: 13, offset: 55993}, val: "WARNING: ", ignoreCase: false, want: "\"WARNING: \"", }, }, &actionExpr{ - pos: position{line: 1745, col: 13, offset: 56346}, + pos: position{line: 1737, col: 13, offset: 56057}, run: (*parser).callonShortcutParagraph27, expr: &litMatcher{ - pos: position{line: 1745, col: 13, offset: 56346}, + pos: position{line: 1737, col: 13, offset: 56057}, val: "CAUTION: ", ignoreCase: false, want: "\"CAUTION: \"", }, }, &actionExpr{ - pos: position{line: 1747, col: 13, offset: 56410}, + pos: position{line: 1739, col: 13, offset: 56121}, run: (*parser).callonShortcutParagraph29, expr: &andExpr{ - pos: position{line: 1747, col: 13, offset: 56410}, + pos: position{line: 1739, col: 13, offset: 56121}, expr: &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, run: (*parser).callonShortcutParagraph31, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -44992,24 +40126,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1757, col: 5, offset: 56789}, + pos: position{line: 1749, col: 5, offset: 56500}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, run: (*parser).callonShortcutParagraph35, expr: &seqExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, run: (*parser).callonShortcutParagraph38, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45019,32 +40153,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1794, col: 5, offset: 57948}, + pos: position{line: 1786, col: 5, offset: 57663}, run: (*parser).callonShortcutParagraph41, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonShortcutParagraph43, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45053,9 +40187,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45065,83 +40199,77 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1758, col: 5, offset: 56823}, + pos: position{line: 1750, col: 5, offset: 56534}, run: (*parser).callonShortcutParagraph50, }, &labeledExpr{ - pos: position{line: 1765, col: 5, offset: 57185}, + pos: position{line: 1757, col: 5, offset: 56896}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1765, col: 16, offset: 57196}, + pos: position{line: 1757, col: 16, offset: 56907}, expr: &actionExpr{ - pos: position{line: 1766, col: 9, offset: 57206}, + pos: position{line: 1758, col: 9, offset: 56917}, run: (*parser).callonShortcutParagraph53, expr: &seqExpr{ - pos: position{line: 1766, col: 9, offset: 57206}, + pos: position{line: 1758, col: 9, offset: 56917}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1766, col: 9, offset: 57206}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, ¬Expr{ - pos: position{line: 1767, col: 9, offset: 57220}, + pos: position{line: 1759, col: 9, offset: 56933}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonShortcutParagraph59, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonShortcutParagraph58, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph65, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph63, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph68, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph66, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45150,9 +40278,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45162,24 +40290,24 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1768, col: 9, offset: 57239}, + pos: position{line: 1760, col: 9, offset: 56952}, expr: &ruleRefExpr{ - pos: position{line: 1768, col: 10, offset: 57240}, + pos: position{line: 1760, col: 10, offset: 56953}, name: "BlockAttributes", }, }, ¬Expr{ - pos: position{line: 1769, col: 9, offset: 57264}, + pos: position{line: 1761, col: 9, offset: 56977}, expr: &actionExpr{ - pos: position{line: 723, col: 5, offset: 23016}, - run: (*parser).callonShortcutParagraph78, + pos: position{line: 724, col: 5, offset: 23039}, + run: (*parser).callonShortcutParagraph76, expr: &seqExpr{ - pos: position{line: 723, col: 5, offset: 23016}, + pos: position{line: 724, col: 5, offset: 23039}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 723, col: 5, offset: 23016}, + pos: position{line: 724, col: 5, offset: 23039}, expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, + pos: position{line: 2746, col: 13, offset: 87373}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -45187,36 +40315,36 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 724, col: 5, offset: 23046}, + pos: position{line: 725, col: 5, offset: 23069}, label: "delimiter", expr: &choiceExpr{ - pos: position{line: 725, col: 9, offset: 23066}, + pos: position{line: 726, col: 9, offset: 23089}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 739, col: 5, offset: 23558}, - run: (*parser).callonShortcutParagraph84, + pos: position{line: 740, col: 5, offset: 23581}, + run: (*parser).callonShortcutParagraph82, expr: &seqExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 739, col: 5, offset: 23558}, + pos: position{line: 740, col: 5, offset: 23581}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 739, col: 16, offset: 23569}, - run: (*parser).callonShortcutParagraph87, + pos: position{line: 740, col: 16, offset: 23592}, + run: (*parser).callonShortcutParagraph85, expr: &seqExpr{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 739, col: 16, offset: 23569}, + pos: position{line: 740, col: 16, offset: 23592}, val: "////", ignoreCase: false, want: "\"////\"", }, &zeroOrMoreExpr{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, expr: &litMatcher{ - pos: position{line: 739, col: 23, offset: 23576}, + pos: position{line: 740, col: 23, offset: 23599}, val: "/", ignoreCase: false, want: "\"/\"", @@ -45227,42 +40355,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 741, col: 8, offset: 23660}, + pos: position{line: 742, col: 8, offset: 23683}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph93, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph91, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph96, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph94, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45271,9 +40399,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45282,30 +40410,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 746, col: 5, offset: 23806}, - run: (*parser).callonShortcutParagraph103, + pos: position{line: 747, col: 5, offset: 23829}, + run: (*parser).callonShortcutParagraph101, expr: &seqExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 746, col: 5, offset: 23806}, + pos: position{line: 747, col: 5, offset: 23829}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 746, col: 16, offset: 23817}, - run: (*parser).callonShortcutParagraph106, + pos: position{line: 747, col: 16, offset: 23840}, + run: (*parser).callonShortcutParagraph104, expr: &seqExpr{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 746, col: 16, offset: 23817}, + pos: position{line: 747, col: 16, offset: 23840}, val: "====", ignoreCase: false, want: "\"====\"", }, &zeroOrMoreExpr{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, expr: &litMatcher{ - pos: position{line: 746, col: 23, offset: 23824}, + pos: position{line: 747, col: 23, offset: 23847}, val: "=", ignoreCase: false, want: "\"=\"", @@ -45316,42 +40444,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 748, col: 8, offset: 23908}, + pos: position{line: 749, col: 8, offset: 23931}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph112, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph110, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph115, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph113, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45360,9 +40488,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45371,27 +40499,27 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 759, col: 26, offset: 24294}, - run: (*parser).callonShortcutParagraph122, + pos: position{line: 760, col: 26, offset: 24317}, + run: (*parser).callonShortcutParagraph120, expr: &seqExpr{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 760, col: 26, offset: 24317}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 759, col: 26, offset: 24294}, + pos: position{line: 760, col: 26, offset: 24317}, val: "```", ignoreCase: false, want: "\"```\"", }, &labeledExpr{ - pos: position{line: 759, col: 32, offset: 24300}, + pos: position{line: 760, col: 32, offset: 24323}, label: "language", expr: &actionExpr{ - pos: position{line: 763, col: 13, offset: 24430}, - run: (*parser).callonShortcutParagraph126, + pos: position{line: 764, col: 13, offset: 24453}, + run: (*parser).callonShortcutParagraph124, expr: &oneOrMoreExpr{ - pos: position{line: 763, col: 14, offset: 24431}, + pos: position{line: 764, col: 14, offset: 24454}, expr: &charClassMatcher{ - pos: position{line: 763, col: 14, offset: 24431}, + pos: position{line: 764, col: 14, offset: 24454}, val: "[^\\r\\n` ]", chars: []rune{'\r', '\n', '`', ' '}, ignoreCase: false, @@ -45401,42 +40529,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 759, col: 52, offset: 24320}, + pos: position{line: 760, col: 52, offset: 24343}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph130, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph128, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph133, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph131, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45445,9 +40573,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45456,30 +40584,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 753, col: 5, offset: 24053}, - run: (*parser).callonShortcutParagraph140, + pos: position{line: 754, col: 5, offset: 24076}, + run: (*parser).callonShortcutParagraph138, expr: &seqExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 753, col: 5, offset: 24053}, + pos: position{line: 754, col: 5, offset: 24076}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 753, col: 16, offset: 24064}, - run: (*parser).callonShortcutParagraph143, + pos: position{line: 754, col: 16, offset: 24087}, + run: (*parser).callonShortcutParagraph141, expr: &seqExpr{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 753, col: 16, offset: 24064}, + pos: position{line: 754, col: 16, offset: 24087}, val: "```", ignoreCase: false, want: "\"```\"", }, &zeroOrMoreExpr{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, expr: &litMatcher{ - pos: position{line: 753, col: 22, offset: 24070}, + pos: position{line: 754, col: 22, offset: 24093}, val: "`", ignoreCase: false, want: "\"`\"", @@ -45490,42 +40618,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 755, col: 8, offset: 24154}, + pos: position{line: 756, col: 8, offset: 24177}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph149, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph147, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph152, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph150, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45534,9 +40662,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45545,30 +40673,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 768, col: 5, offset: 24590}, - run: (*parser).callonShortcutParagraph159, + pos: position{line: 769, col: 5, offset: 24613}, + run: (*parser).callonShortcutParagraph157, expr: &seqExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 768, col: 5, offset: 24590}, + pos: position{line: 769, col: 5, offset: 24613}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 768, col: 16, offset: 24601}, - run: (*parser).callonShortcutParagraph162, + pos: position{line: 769, col: 16, offset: 24624}, + run: (*parser).callonShortcutParagraph160, expr: &seqExpr{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 768, col: 16, offset: 24601}, + pos: position{line: 769, col: 16, offset: 24624}, val: "----", ignoreCase: false, want: "\"----\"", }, &zeroOrMoreExpr{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, expr: &litMatcher{ - pos: position{line: 768, col: 23, offset: 24608}, + pos: position{line: 769, col: 23, offset: 24631}, val: "-", ignoreCase: false, want: "\"-\"", @@ -45579,42 +40707,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 770, col: 8, offset: 24692}, + pos: position{line: 771, col: 8, offset: 24715}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph168, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph166, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph171, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph169, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45623,9 +40751,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45634,30 +40762,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 782, col: 5, offset: 25066}, - run: (*parser).callonShortcutParagraph178, + pos: position{line: 783, col: 5, offset: 25089}, + run: (*parser).callonShortcutParagraph176, expr: &seqExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 782, col: 5, offset: 25066}, + pos: position{line: 783, col: 5, offset: 25089}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 782, col: 16, offset: 25077}, - run: (*parser).callonShortcutParagraph181, + pos: position{line: 783, col: 16, offset: 25100}, + run: (*parser).callonShortcutParagraph179, expr: &seqExpr{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 782, col: 16, offset: 25077}, + pos: position{line: 783, col: 16, offset: 25100}, val: "....", ignoreCase: false, want: "\"....\"", }, &zeroOrMoreExpr{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, expr: &litMatcher{ - pos: position{line: 782, col: 23, offset: 25084}, + pos: position{line: 783, col: 23, offset: 25107}, val: ".", ignoreCase: false, want: "\".\"", @@ -45668,42 +40796,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 784, col: 8, offset: 25168}, + pos: position{line: 785, col: 8, offset: 25191}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph187, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph185, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph190, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph188, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45712,9 +40840,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45723,30 +40851,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 789, col: 5, offset: 25318}, - run: (*parser).callonShortcutParagraph197, + pos: position{line: 790, col: 5, offset: 25341}, + run: (*parser).callonShortcutParagraph195, expr: &seqExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 789, col: 5, offset: 25318}, + pos: position{line: 790, col: 5, offset: 25341}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 789, col: 16, offset: 25329}, - run: (*parser).callonShortcutParagraph200, + pos: position{line: 790, col: 16, offset: 25352}, + run: (*parser).callonShortcutParagraph198, expr: &seqExpr{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 789, col: 16, offset: 25329}, + pos: position{line: 790, col: 16, offset: 25352}, val: "++++", ignoreCase: false, want: "\"++++\"", }, &zeroOrMoreExpr{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, expr: &litMatcher{ - pos: position{line: 789, col: 23, offset: 25336}, + pos: position{line: 790, col: 23, offset: 25359}, val: "+", ignoreCase: false, want: "\"+\"", @@ -45757,42 +40885,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 791, col: 8, offset: 25420}, + pos: position{line: 792, col: 8, offset: 25443}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph206, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph204, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph209, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph207, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45801,9 +40929,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45812,30 +40940,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 796, col: 5, offset: 25568}, - run: (*parser).callonShortcutParagraph216, + pos: position{line: 797, col: 5, offset: 25591}, + run: (*parser).callonShortcutParagraph214, expr: &seqExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 796, col: 5, offset: 25568}, + pos: position{line: 797, col: 5, offset: 25591}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 796, col: 16, offset: 25579}, - run: (*parser).callonShortcutParagraph219, + pos: position{line: 797, col: 16, offset: 25602}, + run: (*parser).callonShortcutParagraph217, expr: &seqExpr{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 796, col: 16, offset: 25579}, + pos: position{line: 797, col: 16, offset: 25602}, val: "____", ignoreCase: false, want: "\"____\"", }, &zeroOrMoreExpr{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, expr: &litMatcher{ - pos: position{line: 796, col: 23, offset: 25586}, + pos: position{line: 797, col: 23, offset: 25609}, val: "_", ignoreCase: false, want: "\"_\"", @@ -45846,42 +40974,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 798, col: 8, offset: 25670}, + pos: position{line: 799, col: 8, offset: 25693}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph225, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph223, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph228, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph226, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45890,9 +41018,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45901,30 +41029,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 803, col: 5, offset: 25814}, - run: (*parser).callonShortcutParagraph235, + pos: position{line: 804, col: 5, offset: 25837}, + run: (*parser).callonShortcutParagraph233, expr: &seqExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 803, col: 5, offset: 25814}, + pos: position{line: 804, col: 5, offset: 25837}, label: "delimiter", expr: &actionExpr{ - pos: position{line: 803, col: 16, offset: 25825}, - run: (*parser).callonShortcutParagraph238, + pos: position{line: 804, col: 16, offset: 25848}, + run: (*parser).callonShortcutParagraph236, expr: &seqExpr{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 803, col: 16, offset: 25825}, + pos: position{line: 804, col: 16, offset: 25848}, val: "****", ignoreCase: false, want: "\"****\"", }, &zeroOrMoreExpr{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, expr: &litMatcher{ - pos: position{line: 803, col: 23, offset: 25832}, + pos: position{line: 804, col: 23, offset: 25855}, val: "*", ignoreCase: false, want: "\"*\"", @@ -45935,42 +41063,42 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 805, col: 8, offset: 25916}, + pos: position{line: 806, col: 8, offset: 25939}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph244, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph242, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph247, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph245, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45979,9 +41107,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -45997,50 +41125,50 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1770, col: 9, offset: 57288}, + pos: position{line: 1762, col: 9, offset: 57001}, expr: &seqExpr{ - pos: position{line: 1545, col: 27, offset: 49929}, + pos: position{line: 1537, col: 27, offset: 49643}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1545, col: 27, offset: 49929}, + pos: position{line: 1537, col: 27, offset: 49643}, val: "+", ignoreCase: false, want: "\"+\"", }, &zeroOrMoreExpr{ - pos: position{line: 1545, col: 31, offset: 49933}, + pos: position{line: 1537, col: 31, offset: 49647}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonShortcutParagraph258, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonShortcutParagraph256, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph260, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph258, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46052,42 +41180,42 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1771, col: 9, offset: 57320}, + pos: position{line: 1763, col: 9, offset: 57033}, label: "line", expr: &choiceExpr{ - pos: position{line: 1771, col: 15, offset: 57326}, + pos: position{line: 1763, col: 15, offset: 57039}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonShortcutParagraph267, + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonShortcutParagraph265, expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, + pos: position{line: 2466, col: 22, offset: 79269}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, + pos: position{line: 2471, col: 31, offset: 79490}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, + pos: position{line: 2471, col: 36, offset: 79495}, expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, + pos: position{line: 2471, col: 37, offset: 79496}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, + pos: position{line: 2466, col: 49, offset: 79296}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonShortcutParagraph273, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonShortcutParagraph271, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -46097,28 +41225,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph277, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph275, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46127,9 +41255,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -46138,21 +41266,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, - run: (*parser).callonShortcutParagraph284, + pos: position{line: 1785, col: 5, offset: 57639}, + run: (*parser).callonShortcutParagraph282, expr: &seqExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonShortcutParagraph287, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonShortcutParagraph285, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -46162,32 +41290,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1794, col: 5, offset: 57948}, - run: (*parser).callonShortcutParagraph290, + pos: position{line: 1786, col: 5, offset: 57663}, + run: (*parser).callonShortcutParagraph288, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonShortcutParagraph292, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonShortcutParagraph290, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46196,9 +41324,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -46220,98 +41348,98 @@ var g = &grammar{ }, { name: "Paragraph", - pos: position{line: 1778, col: 1, offset: 57530}, + pos: position{line: 1770, col: 1, offset: 57243}, expr: &actionExpr{ - pos: position{line: 1779, col: 5, offset: 57548}, + pos: position{line: 1771, col: 5, offset: 57261}, run: (*parser).callonParagraph1, expr: &seqExpr{ - pos: position{line: 1779, col: 5, offset: 57548}, + pos: position{line: 1771, col: 5, offset: 57261}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1779, col: 5, offset: 57548}, + pos: position{line: 1771, col: 5, offset: 57261}, label: "style", expr: &zeroOrOneExpr{ - pos: position{line: 1779, col: 11, offset: 57554}, + pos: position{line: 1771, col: 11, offset: 57267}, expr: &actionExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, + pos: position{line: 1726, col: 5, offset: 55741}, run: (*parser).callonParagraph5, expr: &seqExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, + pos: position{line: 1726, col: 5, offset: 55741}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1734, col: 5, offset: 56030}, + pos: position{line: 1726, col: 5, offset: 55741}, run: (*parser).callonParagraph7, }, &labeledExpr{ - pos: position{line: 1737, col: 5, offset: 56093}, + pos: position{line: 1729, col: 5, offset: 55804}, label: "style", expr: &choiceExpr{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, run: (*parser).callonParagraph10, expr: &litMatcher{ - pos: position{line: 1737, col: 12, offset: 56100}, + pos: position{line: 1729, col: 12, offset: 55811}, val: "TIP: ", ignoreCase: false, want: "\"TIP: \"", }, }, &actionExpr{ - pos: position{line: 1739, col: 13, offset: 56156}, + pos: position{line: 1731, col: 13, offset: 55867}, run: (*parser).callonParagraph12, expr: &litMatcher{ - pos: position{line: 1739, col: 13, offset: 56156}, + pos: position{line: 1731, col: 13, offset: 55867}, val: "NOTE: ", ignoreCase: false, want: "\"NOTE: \"", }, }, &actionExpr{ - pos: position{line: 1741, col: 13, offset: 56214}, + pos: position{line: 1733, col: 13, offset: 55925}, run: (*parser).callonParagraph14, expr: &litMatcher{ - pos: position{line: 1741, col: 13, offset: 56214}, + pos: position{line: 1733, col: 13, offset: 55925}, val: "IMPORTANT: ", ignoreCase: false, want: "\"IMPORTANT: \"", }, }, &actionExpr{ - pos: position{line: 1743, col: 13, offset: 56282}, + pos: position{line: 1735, col: 13, offset: 55993}, run: (*parser).callonParagraph16, expr: &litMatcher{ - pos: position{line: 1743, col: 13, offset: 56282}, + pos: position{line: 1735, col: 13, offset: 55993}, val: "WARNING: ", ignoreCase: false, want: "\"WARNING: \"", }, }, &actionExpr{ - pos: position{line: 1745, col: 13, offset: 56346}, + pos: position{line: 1737, col: 13, offset: 56057}, run: (*parser).callonParagraph18, expr: &litMatcher{ - pos: position{line: 1745, col: 13, offset: 56346}, + pos: position{line: 1737, col: 13, offset: 56057}, val: "CAUTION: ", ignoreCase: false, want: "\"CAUTION: \"", }, }, &actionExpr{ - pos: position{line: 1747, col: 13, offset: 56410}, + pos: position{line: 1739, col: 13, offset: 56121}, run: (*parser).callonParagraph20, expr: &andExpr{ - pos: position{line: 1747, col: 13, offset: 56410}, + pos: position{line: 1739, col: 13, offset: 56121}, expr: &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, run: (*parser).callonParagraph22, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + pos: position{line: 2906, col: 11, offset: 91601}, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -46328,24 +41456,24 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1780, col: 5, offset: 57577}, + pos: position{line: 1772, col: 5, offset: 57290}, label: "firstLine", expr: &actionExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, run: (*parser).callonParagraph26, expr: &seqExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, run: (*parser).callonParagraph29, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -46355,32 +41483,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1794, col: 5, offset: 57948}, + pos: position{line: 1786, col: 5, offset: 57663}, run: (*parser).callonParagraph32, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, + pos: position{line: 2911, col: 12, offset: 91711}, run: (*parser).callonParagraph34, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46389,9 +41517,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -46401,79 +41529,73 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1781, col: 5, offset: 57611}, + pos: position{line: 1773, col: 5, offset: 57324}, label: "otherLines", expr: &zeroOrMoreExpr{ - pos: position{line: 1781, col: 16, offset: 57622}, + pos: position{line: 1773, col: 16, offset: 57335}, expr: &actionExpr{ - pos: position{line: 1782, col: 9, offset: 57632}, + pos: position{line: 1774, col: 9, offset: 57345}, run: (*parser).callonParagraph43, expr: &seqExpr{ - pos: position{line: 1782, col: 9, offset: 57632}, + pos: position{line: 1774, col: 9, offset: 57345}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1782, col: 9, offset: 57632}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, ¬Expr{ - pos: position{line: 1783, col: 9, offset: 57645}, + pos: position{line: 1775, col: 9, offset: 57360}, expr: &actionExpr{ - pos: position{line: 676, col: 14, offset: 21465}, - run: (*parser).callonParagraph49, + pos: position{line: 677, col: 14, offset: 21486}, + run: (*parser).callonParagraph48, expr: &seqExpr{ - pos: position{line: 676, col: 14, offset: 21465}, + pos: position{line: 677, col: 14, offset: 21486}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 676, col: 14, offset: 21465}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &zeroOrMoreExpr{ - pos: position{line: 676, col: 19, offset: 21470}, + pos: position{line: 677, col: 21, offset: 21493}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonParagraph55, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonParagraph53, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonParagraph58, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonParagraph56, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46482,9 +41604,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -46494,49 +41616,49 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 1784, col: 9, offset: 57664}, + pos: position{line: 1776, col: 9, offset: 57379}, expr: &ruleRefExpr{ - pos: position{line: 1784, col: 10, offset: 57665}, + pos: position{line: 1776, col: 10, offset: 57380}, name: "BlockAttributes", }, }, &labeledExpr{ - pos: position{line: 1785, col: 9, offset: 57689}, + pos: position{line: 1777, col: 9, offset: 57404}, label: "line", expr: &choiceExpr{ - pos: position{line: 1785, col: 15, offset: 57695}, + pos: position{line: 1777, col: 15, offset: 57410}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, - run: (*parser).callonParagraph69, + pos: position{line: 2466, col: 22, offset: 79269}, + run: (*parser).callonParagraph67, expr: &seqExpr{ - pos: position{line: 2562, col: 22, offset: 82365}, + pos: position{line: 2466, col: 22, offset: 79269}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2567, col: 31, offset: 82586}, + pos: position{line: 2471, col: 31, offset: 79490}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2567, col: 36, offset: 82591}, + pos: position{line: 2471, col: 36, offset: 79495}, expr: &litMatcher{ - pos: position{line: 2567, col: 37, offset: 82592}, + pos: position{line: 2471, col: 37, offset: 79496}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2562, col: 49, offset: 82392}, + pos: position{line: 2466, col: 49, offset: 79296}, label: "content", expr: &actionExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, - run: (*parser).callonParagraph75, + pos: position{line: 2848, col: 13, offset: 89985}, + run: (*parser).callonParagraph73, expr: &zeroOrMoreExpr{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, expr: &charClassMatcher{ - pos: position{line: 2857, col: 13, offset: 90620}, + pos: position{line: 2848, col: 13, offset: 89985}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -46546,28 +41668,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonParagraph79, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonParagraph77, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46576,9 +41698,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -46587,21 +41709,21 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, - run: (*parser).callonParagraph86, + pos: position{line: 1785, col: 5, offset: 57639}, + run: (*parser).callonParagraph84, expr: &seqExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1793, col: 5, offset: 57924}, + pos: position{line: 1785, col: 5, offset: 57639}, label: "content", expr: &actionExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, - run: (*parser).callonParagraph89, + pos: position{line: 2852, col: 14, offset: 90052}, + run: (*parser).callonParagraph87, expr: &oneOrMoreExpr{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, expr: &charClassMatcher{ - pos: position{line: 2861, col: 14, offset: 90687}, + pos: position{line: 2852, col: 14, offset: 90052}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -46611,32 +41733,32 @@ var g = &grammar{ }, }, &andCodeExpr{ - pos: position{line: 1794, col: 5, offset: 57948}, - run: (*parser).callonParagraph92, + pos: position{line: 1786, col: 5, offset: 57663}, + run: (*parser).callonParagraph90, }, &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonParagraph94, + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonParagraph92, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46645,9 +41767,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -46669,16 +41791,16 @@ var g = &grammar{ }, { name: "QuotedText", - pos: position{line: 1804, col: 1, offset: 58434}, + pos: position{line: 1796, col: 1, offset: 58149}, expr: &choiceExpr{ - pos: position{line: 1804, col: 15, offset: 58448}, + pos: position{line: 1796, col: 15, offset: 58163}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1804, col: 15, offset: 58448}, + pos: position{line: 1796, col: 15, offset: 58163}, name: "EscapedQuotedText", }, &ruleRefExpr{ - pos: position{line: 1804, col: 35, offset: 58468}, + pos: position{line: 1796, col: 35, offset: 58183}, name: "UnescapedQuotedText", }, }, @@ -46686,65 +41808,65 @@ var g = &grammar{ }, { name: "EscapedQuotedText", - pos: position{line: 1806, col: 1, offset: 58489}, + pos: position{line: 1798, col: 1, offset: 58204}, expr: &actionExpr{ - pos: position{line: 1807, col: 5, offset: 58514}, + pos: position{line: 1799, col: 5, offset: 58229}, run: (*parser).callonEscapedQuotedText1, expr: &seqExpr{ - pos: position{line: 1807, col: 5, offset: 58514}, + pos: position{line: 1799, col: 5, offset: 58229}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1807, col: 5, offset: 58514}, + pos: position{line: 1799, col: 5, offset: 58229}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1807, col: 16, offset: 58525}, + pos: position{line: 1799, col: 16, offset: 58240}, expr: &actionExpr{ - pos: position{line: 1807, col: 17, offset: 58526}, + pos: position{line: 1799, col: 17, offset: 58241}, run: (*parser).callonEscapedQuotedText5, expr: &ruleRefExpr{ - pos: position{line: 1807, col: 17, offset: 58526}, + pos: position{line: 1799, col: 17, offset: 58241}, name: "LongHandAttributes", }, }, }, }, &andExpr{ - pos: position{line: 1810, col: 5, offset: 58594}, + pos: position{line: 1802, col: 5, offset: 58309}, expr: &litMatcher{ - pos: position{line: 1810, col: 7, offset: 58596}, + pos: position{line: 1802, col: 7, offset: 58311}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, }, &labeledExpr{ - pos: position{line: 1811, col: 5, offset: 58605}, + pos: position{line: 1803, col: 5, offset: 58320}, label: "element", expr: &choiceExpr{ - pos: position{line: 1812, col: 9, offset: 58623}, + pos: position{line: 1804, col: 9, offset: 58338}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1812, col: 9, offset: 58623}, + pos: position{line: 1804, col: 9, offset: 58338}, name: "EscapedBoldText", }, &ruleRefExpr{ - pos: position{line: 1813, col: 11, offset: 58650}, + pos: position{line: 1805, col: 11, offset: 58365}, name: "EscapedItalicText", }, &ruleRefExpr{ - pos: position{line: 1814, col: 11, offset: 58678}, + pos: position{line: 1806, col: 11, offset: 58393}, name: "EscapedMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1815, col: 11, offset: 58709}, + pos: position{line: 1807, col: 11, offset: 58424}, name: "EscapedMarkedText", }, &ruleRefExpr{ - pos: position{line: 1816, col: 11, offset: 58737}, + pos: position{line: 1808, col: 11, offset: 58452}, name: "EscapedSubscriptText", }, &ruleRefExpr{ - pos: position{line: 1817, col: 11, offset: 58768}, + pos: position{line: 1809, col: 11, offset: 58483}, name: "EscapedSuperscriptText", }, }, @@ -46756,37 +41878,37 @@ var g = &grammar{ }, { name: "UnescapedQuotedText", - pos: position{line: 1822, col: 1, offset: 58888}, + pos: position{line: 1814, col: 1, offset: 58603}, expr: &actionExpr{ - pos: position{line: 1823, col: 5, offset: 58930}, + pos: position{line: 1815, col: 5, offset: 58645}, run: (*parser).callonUnescapedQuotedText1, expr: &seqExpr{ - pos: position{line: 1823, col: 5, offset: 58930}, + pos: position{line: 1815, col: 5, offset: 58645}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1823, col: 5, offset: 58930}, + pos: position{line: 1815, col: 5, offset: 58645}, label: "attributes", expr: &zeroOrOneExpr{ - pos: position{line: 1823, col: 16, offset: 58941}, + pos: position{line: 1815, col: 16, offset: 58656}, expr: &ruleRefExpr{ - pos: position{line: 1823, col: 17, offset: 58942}, + pos: position{line: 1815, col: 17, offset: 58657}, name: "LongHandAttributes", }, }, }, &labeledExpr{ - pos: position{line: 1824, col: 5, offset: 58967}, + pos: position{line: 1816, col: 5, offset: 58682}, label: "element", expr: &choiceExpr{ - pos: position{line: 1824, col: 14, offset: 58976}, + pos: position{line: 1816, col: 14, offset: 58691}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1824, col: 14, offset: 58976}, - name: "DoubleQuotedText", + pos: position{line: 1816, col: 14, offset: 58691}, + name: "SingleQuotedText", }, &ruleRefExpr{ - pos: position{line: 1824, col: 33, offset: 58995}, - name: "SingleQuotedText", + pos: position{line: 1816, col: 33, offset: 58710}, + name: "DoubleQuotedText", }, }, }, @@ -46797,32 +41919,32 @@ var g = &grammar{ }, { name: "SingleQuotedText", - pos: position{line: 1832, col: 1, offset: 59226}, + pos: position{line: 1824, col: 1, offset: 58941}, expr: &choiceExpr{ - pos: position{line: 1833, col: 5, offset: 59251}, + pos: position{line: 1825, col: 5, offset: 58966}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1833, col: 5, offset: 59251}, + pos: position{line: 1825, col: 5, offset: 58966}, name: "SingleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1834, col: 7, offset: 59278}, + pos: position{line: 1826, col: 7, offset: 58993}, name: "SingleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1835, col: 7, offset: 59306}, + pos: position{line: 1827, col: 7, offset: 59021}, name: "SingleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1836, col: 7, offset: 59338}, + pos: position{line: 1828, col: 7, offset: 59053}, name: "SingleQuoteMarkedText", }, &ruleRefExpr{ - pos: position{line: 1837, col: 7, offset: 59366}, + pos: position{line: 1829, col: 7, offset: 59081}, name: "SubscriptText", }, &ruleRefExpr{ - pos: position{line: 1838, col: 7, offset: 59387}, + pos: position{line: 1830, col: 7, offset: 59102}, name: "SuperscriptText", }, }, @@ -46830,227 +41952,287 @@ var g = &grammar{ }, { name: "DoubleQuotedText", - pos: position{line: 1840, col: 1, offset: 59405}, + pos: position{line: 1832, col: 1, offset: 59120}, expr: &choiceExpr{ - pos: position{line: 1841, col: 5, offset: 59430}, + pos: position{line: 1833, col: 5, offset: 59145}, alternatives: []interface{}{ &ruleRefExpr{ - pos: position{line: 1841, col: 5, offset: 59430}, + pos: position{line: 1833, col: 5, offset: 59145}, name: "DoubleQuoteBoldText", }, &ruleRefExpr{ - pos: position{line: 1842, col: 7, offset: 59456}, + pos: position{line: 1834, col: 7, offset: 59171}, name: "DoubleQuoteItalicText", }, &ruleRefExpr{ - pos: position{line: 1843, col: 7, offset: 59484}, + pos: position{line: 1835, col: 7, offset: 59199}, name: "DoubleQuoteMonospaceText", }, &ruleRefExpr{ - pos: position{line: 1844, col: 7, offset: 59515}, + pos: position{line: 1836, col: 7, offset: 59230}, name: "DoubleQuoteMarkedText", }, }, }, }, { - name: "DoubleQuoteBoldText", - pos: position{line: 1878, col: 1, offset: 60393}, - expr: &actionExpr{ - pos: position{line: 1879, col: 5, offset: 60421}, - run: (*parser).callonDoubleQuoteBoldText1, - expr: &seqExpr{ - pos: position{line: 1879, col: 5, offset: 60421}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1874, col: 38, offset: 60346}, - val: "**", - ignoreCase: false, - want: "\"**\"", - }, - &labeledExpr{ - pos: position{line: 1880, col: 5, offset: 60460}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 1880, col: 15, offset: 60470}, - name: "DoubleQuoteBoldTextElements", - }, - }, - &litMatcher{ - pos: position{line: 1876, col: 36, offset: 60387}, - val: "**", - ignoreCase: false, - want: "\"**\"", - }, - }, - }, - }, - }, - { - name: "DoubleQuoteBoldTextElements", - pos: position{line: 1885, col: 1, offset: 60630}, - expr: &oneOrMoreExpr{ - pos: position{line: 1885, col: 32, offset: 60661}, - expr: &ruleRefExpr{ - pos: position{line: 1885, col: 32, offset: 60661}, - name: "DoubleQuoteBoldTextElement", - }, - }, - }, - { - name: "DoubleQuoteBoldTextElement", - pos: position{line: 1887, col: 1, offset: 60692}, - expr: &actionExpr{ - pos: position{line: 1888, col: 5, offset: 60727}, - run: (*parser).callonDoubleQuoteBoldTextElement1, - expr: &seqExpr{ - pos: position{line: 1888, col: 5, offset: 60727}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1888, col: 5, offset: 60727}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + name: "QuotedTextElement", + pos: position{line: 1850, col: 1, offset: 59584}, + expr: &choiceExpr{ + pos: position{line: 1851, col: 5, offset: 59610}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + run: (*parser).callonQuotedTextElement2, + expr: &seqExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + expr: &charClassMatcher{ + pos: position{line: 2755, col: 5, offset: 87520}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, }, - }, - }, - ¬Expr{ - pos: position{line: 1889, col: 5, offset: 60736}, - expr: &litMatcher{ - pos: position{line: 1876, col: 36, offset: 60387}, - val: "**", - ignoreCase: false, - want: "\"**\"", - }, - }, - &labeledExpr{ - pos: position{line: 1890, col: 5, offset: 60773}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1891, col: 9, offset: 60791}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1865, col: 5, offset: 60047}, - run: (*parser).callonDoubleQuoteBoldTextElement10, - expr: &seqExpr{ - pos: position{line: 1865, col: 5, offset: 60047}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1865, col: 6, offset: 60048}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 1866, col: 5, offset: 60093}, - expr: &charClassMatcher{ - pos: position{line: 1866, col: 6, offset: 60094}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &choiceExpr{ + pos: position{line: 2771, col: 9, offset: 87859}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonQuotedTextElement7, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonQuotedTextElement9, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", ignoreCase: false, - inverted: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, }, }, - &andExpr{ - pos: position{line: 1867, col: 5, offset: 60113}, - expr: &choiceExpr{ - pos: position{line: 1867, col: 7, offset: 60115}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteBoldTextElement17, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + }, + &andCodeExpr{ + pos: position{line: 2773, col: 11, offset: 87889}, + run: (*parser).callonQuotedTextElement15, + }, + &andExpr{ + pos: position{line: 2776, col: 11, offset: 87967}, + expr: &seqExpr{ + pos: position{line: 2777, col: 13, offset: 87982}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2777, col: 13, offset: 87982}, + expr: &seqExpr{ + pos: position{line: 2777, col: 15, offset: 87984}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2777, col: 15, offset: 87984}, + val: ":", ignoreCase: false, - inverted: false, + want: "\":\"", + }, + ¬Expr{ + pos: position{line: 2777, col: 19, offset: 87988}, + expr: &choiceExpr{ + pos: position{line: 2777, col: 21, offset: 87990}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonQuotedTextElement23, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonQuotedTextElement25, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, }, }, - &litMatcher{ - pos: position{line: 1862, col: 22, offset: 60021}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, + }, + }, + ¬Expr{ + pos: position{line: 2778, col: 13, offset: 88016}, + expr: &litMatcher{ + pos: position{line: 2778, col: 14, offset: 88017}, + val: "@", + ignoreCase: false, + want: "\"@\"", }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonDoubleQuoteBoldTextElement20, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonQuotedTextElement34, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonQuotedTextElement37, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", }, }, - &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonDoubleQuoteBoldTextElement23, - expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteBoldTextElement25, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 1854, col: 7, offset: 59683}, + name: "Replacement", + }, + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonQuotedTextElement44, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonQuotedTextElement51, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, - }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteBoldTextElement31, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonQuotedTextElement53, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47058,119 +42240,353 @@ var g = &grammar{ }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteBoldTextElement36, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteBoldTextElement38, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonQuotedTextElement61, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonQuotedTextElement64, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonQuotedTextElement67, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonQuotedTextElement70, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + run: (*parser).callonQuotedTextElement72, + expr: &seqExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2484, col: 5, offset: 79986}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2484, col: 10, offset: 79991}, + expr: &charClassMatcher{ + pos: position{line: 2484, col: 11, offset: 79992}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonQuotedTextElement77, + expr: &seqExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonQuotedTextElement79, + }, + &andCodeExpr{ + pos: position{line: 2493, col: 5, offset: 80250}, + run: (*parser).callonQuotedTextElement80, + }, + &litMatcher{ + pos: position{line: 2497, col: 5, offset: 80375}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2497, col: 9, offset: 80379}, + expr: &charClassMatcher{ + pos: position{line: 2497, col: 10, offset: 80380}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonQuotedTextElement84, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonQuotedTextElement86, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonQuotedTextElement89, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonQuotedTextElement93, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonDoubleQuoteBoldTextElement41, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonQuotedTextElement99, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonQuotedTextElement103, expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteBoldTextElement45, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonQuotedTextElement109, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonQuotedTextElement113, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonQuotedTextElement120, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonQuotedTextElement125, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteBoldTextElement52, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteBoldTextElement57, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteBoldTextElement59, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonQuotedTextElement127, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, @@ -47178,1211 +42594,705 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonDoubleQuoteBoldTextElement63, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonQuotedTextElement131, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonQuotedTextElement135, expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteBoldTextElement67, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + inverted: false, }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteBoldTextElement74, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteBoldTextElement79, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteBoldTextElement81, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteBoldTextElement85, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteBoldTextElement89, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonQuotedTextElement142, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonQuotedTextElement147, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteBoldTextElement95, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteBoldTextElement99, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonQuotedTextElement149, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, }, }, - &ruleRefExpr{ - pos: position{line: 1895, col: 11, offset: 60951}, - name: "InlineMacro", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2915, col: 18, offset: 91811}, + run: (*parser).callonQuotedTextElement153, + expr: &seqExpr{ + pos: position{line: 2915, col: 18, offset: 91811}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonQuotedTextElement155, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, - &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteBoldTextElement106, + }, + ¬Expr{ + pos: position{line: 2915, col: 26, offset: 91819}, + expr: &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonQuotedTextElement161, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 1859, col: 7, offset: 59850}, + name: "QuotedText", + }, + &ruleRefExpr{ + pos: position{line: 1860, col: 7, offset: 59897}, + name: "InlineMacro", + }, + &actionExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonQuotedTextElement168, + expr: &seqExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonQuotedTextElement170, + }, + &labeledExpr{ + pos: position{line: 2456, col: 5, offset: 78891}, + label: "element", + expr: &actionExpr{ + pos: position{line: 2457, col: 9, offset: 78909}, + run: (*parser).callonQuotedTextElement172, + expr: &charClassMatcher{ + pos: position{line: 2457, col: 10, offset: 78910}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonQuotedTextElement174, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonQuotedTextElement178, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 12, offset: 89767}, + run: (*parser).callonQuotedTextElement182, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 12, offset: 89767}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + { + name: "DoubleQuoteBoldText", + pos: position{line: 1878, col: 1, offset: 60367}, + expr: &actionExpr{ + pos: position{line: 1879, col: 5, offset: 60395}, + run: (*parser).callonDoubleQuoteBoldText1, + expr: &seqExpr{ + pos: position{line: 1879, col: 5, offset: 60395}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1874, col: 38, offset: 60320}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, + &labeledExpr{ + pos: position{line: 1880, col: 5, offset: 60434}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1880, col: 15, offset: 60444}, + name: "DoubleQuoteBoldTextElements", + }, + }, + &litMatcher{ + pos: position{line: 1876, col: 36, offset: 60361}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, + }, + }, + }, + }, + { + name: "DoubleQuoteBoldTextElements", + pos: position{line: 1885, col: 1, offset: 60604}, + expr: &oneOrMoreExpr{ + pos: position{line: 1885, col: 32, offset: 60635}, + expr: &ruleRefExpr{ + pos: position{line: 1885, col: 32, offset: 60635}, + name: "DoubleQuoteBoldTextElement", + }, + }, + }, + { + name: "DoubleQuoteBoldTextElement", + pos: position{line: 1887, col: 1, offset: 60666}, + expr: &actionExpr{ + pos: position{line: 1888, col: 5, offset: 60701}, + run: (*parser).callonDoubleQuoteBoldTextElement1, + expr: &seqExpr{ + pos: position{line: 1888, col: 5, offset: 60701}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 1889, col: 5, offset: 60712}, + expr: &litMatcher{ + pos: position{line: 1876, col: 36, offset: 60361}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, + }, + &labeledExpr{ + pos: position{line: 1890, col: 5, offset: 60749}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 1890, col: 14, offset: 60758}, + name: "QuotedTextElement", + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteBoldText", + pos: position{line: 1915, col: 1, offset: 61438}, + expr: &actionExpr{ + pos: position{line: 1916, col: 5, offset: 61466}, + run: (*parser).callonSingleQuoteBoldText1, + expr: &seqExpr{ + pos: position{line: 1916, col: 5, offset: 61466}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1899, col: 5, offset: 60992}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + &andCodeExpr{ + pos: position{line: 1900, col: 5, offset: 61001}, + run: (*parser).callonSingleQuoteBoldText4, + }, + &andExpr{ + pos: position{line: 1904, col: 5, offset: 61119}, + expr: ¬Expr{ + pos: position{line: 1904, col: 7, offset: 61121}, + expr: &litMatcher{ + pos: position{line: 1904, col: 8, offset: 61122}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1917, col: 5, offset: 61504}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1917, col: 15, offset: 61514}, + name: "SingleQuoteBoldTextElements", + }, + }, + &litMatcher{ + pos: position{line: 1907, col: 5, offset: 61242}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + ¬Expr{ + pos: position{line: 1908, col: 5, offset: 61251}, + expr: &litMatcher{ + pos: position{line: 1908, col: 6, offset: 61252}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + &andCodeExpr{ + pos: position{line: 1909, col: 5, offset: 61315}, + run: (*parser).callonSingleQuoteBoldText13, + }, + &andExpr{ + pos: position{line: 1913, col: 5, offset: 61424}, + expr: ¬Expr{ + pos: position{line: 1913, col: 7, offset: 61426}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteBoldTextElements", + pos: position{line: 1922, col: 1, offset: 61674}, + expr: &actionExpr{ + pos: position{line: 1923, col: 5, offset: 61711}, + run: (*parser).callonSingleQuoteBoldTextElements1, + expr: &seqExpr{ + pos: position{line: 1923, col: 5, offset: 61711}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1923, col: 5, offset: 61711}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSingleQuoteBoldTextElements4, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1924, col: 5, offset: 61750}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 1924, col: 14, offset: 61759}, + expr: &ruleRefExpr{ + pos: position{line: 1924, col: 15, offset: 61760}, + name: "SingleQuoteBoldTextElement", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1925, col: 5, offset: 61794}, + run: (*parser).callonSingleQuoteBoldTextElements9, + }, + }, + }, + }, + }, + { + name: "SingleQuoteBoldTextElement", + pos: position{line: 1931, col: 1, offset: 61935}, + expr: &actionExpr{ + pos: position{line: 1932, col: 5, offset: 61970}, + run: (*parser).callonSingleQuoteBoldTextElement1, + expr: &seqExpr{ + pos: position{line: 1932, col: 5, offset: 61970}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 1933, col: 5, offset: 61998}, + expr: &seqExpr{ + pos: position{line: 1907, col: 5, offset: 61242}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1907, col: 5, offset: 61242}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + ¬Expr{ + pos: position{line: 1908, col: 5, offset: 61251}, + expr: &litMatcher{ + pos: position{line: 1908, col: 6, offset: 61252}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + &andCodeExpr{ + pos: position{line: 1909, col: 5, offset: 61315}, + run: (*parser).callonSingleQuoteBoldTextElement10, + }, + &andExpr{ + pos: position{line: 1913, col: 5, offset: 61424}, + expr: ¬Expr{ + pos: position{line: 1913, col: 7, offset: 61426}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1934, col: 5, offset: 62035}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 1934, col: 14, offset: 62044}, + name: "QuotedTextElement", + }, + }, + }, + }, + }, + }, + { + name: "EscapedBoldText", + pos: position{line: 1939, col: 1, offset: 62132}, + expr: &choiceExpr{ + pos: position{line: 1941, col: 5, offset: 62193}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1941, col: 5, offset: 62193}, + run: (*parser).callonEscapedBoldText2, + expr: &seqExpr{ + pos: position{line: 1941, col: 5, offset: 62193}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1941, col: 5, offset: 62193}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1846, col: 25, offset: 59530}, + run: (*parser).callonEscapedBoldText5, expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, + pos: position{line: 1846, col: 25, offset: 59530}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteBoldTextElement108, + &litMatcher{ + pos: position{line: 1846, col: 25, offset: 59530}, + val: "\\\\", + ignoreCase: false, + want: "\"\\\\\\\\\"", }, - &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonDoubleQuoteBoldTextElement111, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteBoldTextElement115, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteBoldTextElement117, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteBoldTextElement119, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteBoldTextElement121, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteBoldTextElement123, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteBoldTextElement125, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteBoldTextElement127, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteBoldTextElement129, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteBoldTextElement131, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteBoldTextElement133, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteBoldTextElement136, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteBoldTextElement138, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteBoldTextElement142, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteBoldTextElement149, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteBoldTextElement152, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteBoldTextElement156, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteBoldTextElement163, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteBoldTextElement165, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteBoldTextElement167, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteBoldTextElement169, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteBoldTextElement171, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteBoldTextElement173, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteBoldTextElement175, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteBoldTextElement177, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteBoldTextElement179, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteBoldTextElement181, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteBoldTextElement183, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteBoldTextElement185, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteBoldTextElement188, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteBoldTextElement190, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteBoldTextElement194, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteBoldTextElement201, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteBoldTextElement204, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteBoldTextElement208, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteBoldTextElement215, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteBoldTextElement217, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteBoldTextElement219, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteBoldTextElement221, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonDoubleQuoteBoldTextElement223, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteBoldTextElement228, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteBoldTextElement230, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, + &zeroOrMoreExpr{ + pos: position{line: 1846, col: 30, offset: 59535}, + expr: &litMatcher{ + pos: position{line: 1846, col: 30, offset: 59535}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, }, }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteBoldTextElement234, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteBoldTextElement236, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonDoubleQuoteBoldTextElement239, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonDoubleQuoteBoldTextElement241, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteBoldTextElement245, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteBoldTextElement249, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonDoubleQuoteBoldTextElement255, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteBoldTextElement260, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteBoldTextElement264, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteBoldTextElement270, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteBoldTextElement274, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonDoubleQuoteBoldTextElement280, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonDoubleQuoteBoldTextElement283, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteBoldTextElement287, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonDoubleQuoteBoldTextElement291, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + }, + &litMatcher{ + pos: position{line: 1941, col: 40, offset: 62228}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, + &labeledExpr{ + pos: position{line: 1941, col: 45, offset: 62233}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1941, col: 55, offset: 62243}, + name: "DoubleQuoteBoldTextElements", + }, + }, + &litMatcher{ + pos: position{line: 1941, col: 84, offset: 62272}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1945, col: 7, offset: 62436}, + run: (*parser).callonEscapedBoldText14, + expr: &seqExpr{ + pos: position{line: 1945, col: 7, offset: 62436}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1945, col: 7, offset: 62436}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedBoldText17, + expr: &oneOrMoreExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, - &ruleRefExpr{ - pos: position{line: 1898, col: 11, offset: 61072}, - name: "QuotedText", + }, + &litMatcher{ + pos: position{line: 1945, col: 42, offset: 62471}, + val: "**", + ignoreCase: false, + want: "\"**\"", + }, + &labeledExpr{ + pos: position{line: 1945, col: 47, offset: 62476}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1945, col: 57, offset: 62486}, + name: "SingleQuoteBoldTextElements", }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonDoubleQuoteBoldTextElement294, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonDoubleQuoteBoldTextElement298, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, + }, + &litMatcher{ + pos: position{line: 1945, col: 86, offset: 62515}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1950, col: 7, offset: 62717}, + run: (*parser).callonEscapedBoldText24, + expr: &seqExpr{ + pos: position{line: 1950, col: 7, offset: 62717}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1950, col: 7, offset: 62717}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedBoldText27, + expr: &oneOrMoreExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonDoubleQuoteBoldTextElement302, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + }, + &litMatcher{ + pos: position{line: 1950, col: 42, offset: 62752}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + &labeledExpr{ + pos: position{line: 1950, col: 46, offset: 62756}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1950, col: 56, offset: 62766}, + name: "SingleQuoteBoldTextElements", }, }, + &litMatcher{ + pos: position{line: 1950, col: 85, offset: 62795}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, }, }, }, @@ -48390,69 +43300,149 @@ var g = &grammar{ }, }, { - name: "SingleQuoteBoldText", - pos: position{line: 1926, col: 1, offset: 61779}, + name: "DoubleQuoteItalicText", + pos: position{line: 1967, col: 1, offset: 63275}, expr: &actionExpr{ - pos: position{line: 1927, col: 5, offset: 61807}, - run: (*parser).callonSingleQuoteBoldText1, + pos: position{line: 1968, col: 5, offset: 63305}, + run: (*parser).callonDoubleQuoteItalicText1, expr: &seqExpr{ - pos: position{line: 1927, col: 5, offset: 61807}, + pos: position{line: 1968, col: 5, offset: 63305}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1910, col: 5, offset: 61351}, - val: "*", + pos: position{line: 1963, col: 40, offset: 63226}, + val: "__", ignoreCase: false, - want: "\"*\"", + want: "\"__\"", + }, + &labeledExpr{ + pos: position{line: 1969, col: 5, offset: 63346}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 1969, col: 15, offset: 63356}, + name: "DoubleQuoteItalicTextElements", + }, + }, + &litMatcher{ + pos: position{line: 1965, col: 38, offset: 63269}, + val: "__", + ignoreCase: false, + want: "\"__\"", + }, + }, + }, + }, + }, + { + name: "DoubleQuoteItalicTextElements", + pos: position{line: 1974, col: 1, offset: 63521}, + expr: &oneOrMoreExpr{ + pos: position{line: 1974, col: 34, offset: 63554}, + expr: &ruleRefExpr{ + pos: position{line: 1974, col: 34, offset: 63554}, + name: "DoubleQuoteItalicTextElement", + }, + }, + }, + { + name: "DoubleQuoteItalicTextElement", + pos: position{line: 1976, col: 1, offset: 63586}, + expr: &actionExpr{ + pos: position{line: 1977, col: 5, offset: 63623}, + run: (*parser).callonDoubleQuoteItalicTextElement1, + expr: &seqExpr{ + pos: position{line: 1977, col: 5, offset: 63623}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 1978, col: 5, offset: 63634}, + expr: &litMatcher{ + pos: position{line: 1965, col: 38, offset: 63269}, + val: "__", + ignoreCase: false, + want: "\"__\"", + }, + }, + &labeledExpr{ + pos: position{line: 1979, col: 5, offset: 63673}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 1979, col: 14, offset: 63682}, + name: "QuotedTextElement", + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteItalicText", + pos: position{line: 2005, col: 1, offset: 64366}, + expr: &actionExpr{ + pos: position{line: 2006, col: 5, offset: 64396}, + run: (*parser).callonSingleQuoteItalicText1, + expr: &seqExpr{ + pos: position{line: 2006, col: 5, offset: 64396}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1988, col: 5, offset: 63924}, + val: "_", + ignoreCase: false, + want: "\"_\"", }, &andCodeExpr{ - pos: position{line: 1911, col: 5, offset: 61360}, - run: (*parser).callonSingleQuoteBoldText4, + pos: position{line: 1989, col: 5, offset: 63933}, + run: (*parser).callonSingleQuoteItalicText4, }, &andExpr{ - pos: position{line: 1915, col: 5, offset: 61478}, + pos: position{line: 1993, col: 5, offset: 64053}, expr: ¬Expr{ - pos: position{line: 1915, col: 7, offset: 61480}, + pos: position{line: 1993, col: 7, offset: 64055}, expr: &litMatcher{ - pos: position{line: 1915, col: 8, offset: 61481}, - val: "*", + pos: position{line: 1993, col: 8, offset: 64056}, + val: "_", ignoreCase: false, - want: "\"*\"", + want: "\"_\"", }, }, }, &labeledExpr{ - pos: position{line: 1928, col: 5, offset: 61845}, + pos: position{line: 2007, col: 5, offset: 64436}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1928, col: 15, offset: 61855}, - name: "SingleQuoteBoldTextElements", + pos: position{line: 2007, col: 15, offset: 64446}, + name: "SingleQuoteItalicTextElements", }, }, &litMatcher{ - pos: position{line: 1918, col: 5, offset: 61584}, - val: "*", + pos: position{line: 1997, col: 5, offset: 64166}, + val: "_", ignoreCase: false, - want: "\"*\"", + want: "\"_\"", }, ¬Expr{ - pos: position{line: 1919, col: 5, offset: 61593}, + pos: position{line: 1998, col: 5, offset: 64175}, expr: &litMatcher{ - pos: position{line: 1919, col: 6, offset: 61594}, - val: "*", + pos: position{line: 1998, col: 6, offset: 64176}, + val: "_", ignoreCase: false, - want: "\"*\"", + want: "\"_\"", }, }, &andCodeExpr{ - pos: position{line: 1920, col: 5, offset: 61656}, - run: (*parser).callonSingleQuoteBoldText13, + pos: position{line: 1999, col: 5, offset: 64241}, + run: (*parser).callonSingleQuoteItalicText13, }, &andExpr{ - pos: position{line: 1924, col: 5, offset: 61765}, + pos: position{line: 2003, col: 5, offset: 64352}, expr: ¬Expr{ - pos: position{line: 1924, col: 7, offset: 61767}, + pos: position{line: 2003, col: 7, offset: 64354}, expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, + pos: position{line: 2746, col: 13, offset: 87373}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -48465,95 +43455,92 @@ var g = &grammar{ }, }, { - name: "SingleQuoteBoldTextElements", - pos: position{line: 1933, col: 1, offset: 62015}, + name: "SingleQuoteItalicTextElements", + pos: position{line: 2012, col: 1, offset: 64613}, expr: &actionExpr{ - pos: position{line: 1934, col: 5, offset: 62052}, - run: (*parser).callonSingleQuoteBoldTextElements1, + pos: position{line: 2013, col: 5, offset: 64651}, + run: (*parser).callonSingleQuoteItalicTextElements1, expr: &seqExpr{ - pos: position{line: 1934, col: 5, offset: 62052}, + pos: position{line: 2013, col: 5, offset: 64651}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 1934, col: 5, offset: 62052}, + pos: position{line: 2013, col: 5, offset: 64651}, expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteBoldTextElements4, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSingleQuoteItalicTextElements4, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, }, &labeledExpr{ - pos: position{line: 1935, col: 5, offset: 62091}, + pos: position{line: 2014, col: 5, offset: 64690}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 1935, col: 14, offset: 62100}, + pos: position{line: 2014, col: 14, offset: 64699}, expr: &ruleRefExpr{ - pos: position{line: 1935, col: 15, offset: 62101}, - name: "SingleQuoteBoldTextElement", + pos: position{line: 2014, col: 15, offset: 64700}, + name: "SingleQuoteItalicTextElement", }, }, }, &andCodeExpr{ - pos: position{line: 1936, col: 5, offset: 62135}, - run: (*parser).callonSingleQuoteBoldTextElements9, + pos: position{line: 2015, col: 5, offset: 64735}, + run: (*parser).callonSingleQuoteItalicTextElements9, }, }, }, }, }, { - name: "SingleQuoteBoldTextElement", - pos: position{line: 1942, col: 1, offset: 62276}, + name: "SingleQuoteItalicTextElement", + pos: position{line: 2021, col: 1, offset: 64876}, expr: &actionExpr{ - pos: position{line: 1943, col: 5, offset: 62311}, - run: (*parser).callonSingleQuoteBoldTextElement1, + pos: position{line: 2022, col: 5, offset: 64913}, + run: (*parser).callonSingleQuoteItalicTextElement1, expr: &seqExpr{ - pos: position{line: 1943, col: 5, offset: 62311}, + pos: position{line: 2022, col: 5, offset: 64913}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1943, col: 5, offset: 62311}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, ¬Expr{ - pos: position{line: 1944, col: 5, offset: 62337}, + pos: position{line: 2023, col: 5, offset: 64924}, expr: &seqExpr{ - pos: position{line: 1918, col: 5, offset: 61584}, + pos: position{line: 1997, col: 5, offset: 64166}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1918, col: 5, offset: 61584}, - val: "*", + pos: position{line: 1997, col: 5, offset: 64166}, + val: "_", ignoreCase: false, - want: "\"*\"", + want: "\"_\"", }, ¬Expr{ - pos: position{line: 1919, col: 5, offset: 61593}, + pos: position{line: 1998, col: 5, offset: 64175}, expr: &litMatcher{ - pos: position{line: 1919, col: 6, offset: 61594}, - val: "*", + pos: position{line: 1998, col: 6, offset: 64176}, + val: "_", ignoreCase: false, - want: "\"*\"", + want: "\"_\"", }, }, &andCodeExpr{ - pos: position{line: 1920, col: 5, offset: 61656}, - run: (*parser).callonSingleQuoteBoldTextElement11, + pos: position{line: 1999, col: 5, offset: 64241}, + run: (*parser).callonSingleQuoteItalicTextElement10, }, &andExpr{ - pos: position{line: 1924, col: 5, offset: 61765}, + pos: position{line: 2003, col: 5, offset: 64352}, expr: ¬Expr{ - pos: position{line: 1924, col: 7, offset: 61767}, + pos: position{line: 2003, col: 7, offset: 64354}, expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, + pos: position{line: 2746, col: 13, offset: 87373}, val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, @@ -48565,1501 +43552,870 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 1945, col: 5, offset: 62374}, + pos: position{line: 2024, col: 5, offset: 64963}, label: "element", - expr: &choiceExpr{ - pos: position{line: 1946, col: 9, offset: 62464}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1865, col: 5, offset: 60047}, - run: (*parser).callonSingleQuoteBoldTextElement17, + expr: &ruleRefExpr{ + pos: position{line: 2024, col: 14, offset: 64972}, + name: "QuotedTextElement", + }, + }, + }, + }, + }, + }, + { + name: "EscapedItalicText", + pos: position{line: 2029, col: 1, offset: 65060}, + expr: &choiceExpr{ + pos: position{line: 2031, col: 5, offset: 65125}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2031, col: 5, offset: 65125}, + run: (*parser).callonEscapedItalicText2, + expr: &seqExpr{ + pos: position{line: 2031, col: 5, offset: 65125}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2031, col: 5, offset: 65125}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1846, col: 25, offset: 59530}, + run: (*parser).callonEscapedItalicText5, expr: &seqExpr{ - pos: position{line: 1865, col: 5, offset: 60047}, + pos: position{line: 1846, col: 25, offset: 59530}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1865, col: 6, offset: 60048}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + &litMatcher{ + pos: position{line: 1846, col: 25, offset: 59530}, + val: "\\\\", ignoreCase: false, - inverted: false, + want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1866, col: 5, offset: 60093}, - expr: &charClassMatcher{ - pos: position{line: 1866, col: 6, offset: 60094}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 1846, col: 30, offset: 59535}, + expr: &litMatcher{ + pos: position{line: 1846, col: 30, offset: 59535}, + val: "\\", ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 1867, col: 5, offset: 60113}, - expr: &choiceExpr{ - pos: position{line: 1867, col: 7, offset: 60115}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteBoldTextElement24, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1862, col: 22, offset: 60021}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, + want: "\"\\\\\"", }, }, }, }, }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonSingleQuoteBoldTextElement27, + }, + &litMatcher{ + pos: position{line: 2031, col: 40, offset: 65160}, + val: "__", + ignoreCase: false, + want: "\"__\"", + }, + &labeledExpr{ + pos: position{line: 2031, col: 45, offset: 65165}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2031, col: 55, offset: 65175}, + name: "DoubleQuoteItalicTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2031, col: 86, offset: 65206}, + val: "__", + ignoreCase: false, + want: "\"__\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2035, col: 7, offset: 65371}, + run: (*parser).callonEscapedItalicText14, + expr: &seqExpr{ + pos: position{line: 2035, col: 7, offset: 65371}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2035, col: 7, offset: 65371}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedItalicText17, expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", ignoreCase: false, - inverted: false, + want: "\"\\\\\"", }, }, }, - &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonSingleQuoteBoldTextElement30, - expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteBoldTextElement32, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteBoldTextElement38, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, + }, + &litMatcher{ + pos: position{line: 2035, col: 42, offset: 65406}, + val: "__", + ignoreCase: false, + want: "\"__\"", + }, + &labeledExpr{ + pos: position{line: 2035, col: 47, offset: 65411}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2035, col: 57, offset: 65421}, + name: "SingleQuoteItalicTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2035, col: 88, offset: 65452}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2040, col: 7, offset: 65693}, + run: (*parser).callonEscapedItalicText24, + expr: &seqExpr{ + pos: position{line: 2040, col: 7, offset: 65693}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2040, col: 7, offset: 65693}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedItalicText27, + expr: &oneOrMoreExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, - &ruleRefExpr{ - pos: position{line: 1949, col: 11, offset: 62562}, - name: "InlineMacro", + }, + &litMatcher{ + pos: position{line: 2040, col: 42, offset: 65728}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + &labeledExpr{ + pos: position{line: 2040, col: 46, offset: 65732}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2040, col: 56, offset: 65742}, + name: "SingleQuoteItalicTextElements", }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteBoldTextElement44, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteBoldTextElement46, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonSingleQuoteBoldTextElement49, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteBoldTextElement53, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteBoldTextElement60, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteBoldTextElement65, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteBoldTextElement67, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonSingleQuoteBoldTextElement71, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteBoldTextElement75, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteBoldTextElement82, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteBoldTextElement87, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteBoldTextElement89, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteBoldTextElement93, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteBoldTextElement97, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteBoldTextElement103, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteBoldTextElement107, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, + }, + &litMatcher{ + pos: position{line: 2040, col: 87, offset: 65773}, + val: "_", + ignoreCase: false, + want: "\"_\"", + }, + }, + }, + }, + }, + }, + }, + { + name: "DoubleQuoteMonospaceText", + pos: position{line: 2057, col: 1, offset: 66337}, + expr: &actionExpr{ + pos: position{line: 2058, col: 5, offset: 66370}, + run: (*parser).callonDoubleQuoteMonospaceText1, + expr: &seqExpr{ + pos: position{line: 2058, col: 5, offset: 66370}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2053, col: 43, offset: 66285}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + &labeledExpr{ + pos: position{line: 2059, col: 5, offset: 66414}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2059, col: 15, offset: 66424}, + name: "DoubleQuoteMonospaceTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2055, col: 41, offset: 66331}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + }, + }, + }, + }, + { + name: "DoubleQuoteMonospaceTextElements", + pos: position{line: 2064, col: 1, offset: 66599}, + expr: &oneOrMoreExpr{ + pos: position{line: 2064, col: 37, offset: 66635}, + expr: &ruleRefExpr{ + pos: position{line: 2064, col: 37, offset: 66635}, + name: "DoubleQuoteMonospaceTextElement", + }, + }, + }, + { + name: "DoubleQuoteMonospaceTextElement", + pos: position{line: 2066, col: 1, offset: 66702}, + expr: &actionExpr{ + pos: position{line: 2067, col: 5, offset: 66742}, + run: (*parser).callonDoubleQuoteMonospaceTextElement1, + expr: &seqExpr{ + pos: position{line: 2067, col: 5, offset: 66742}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 2068, col: 5, offset: 66753}, + expr: &litMatcher{ + pos: position{line: 2055, col: 41, offset: 66331}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + }, + &labeledExpr{ + pos: position{line: 2069, col: 5, offset: 66795}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2069, col: 14, offset: 66804}, + name: "QuotedTextElement", + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMonospaceTextEndDelimiter", + pos: position{line: 2087, col: 1, offset: 67346}, + expr: &seqExpr{ + pos: position{line: 2088, col: 5, offset: 67391}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2088, col: 5, offset: 67391}, + expr: &ruleRefExpr{ + pos: position{line: 2088, col: 6, offset: 67392}, + name: "QuotationMark", + }, + }, + &litMatcher{ + pos: position{line: 2089, col: 5, offset: 67411}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + &andCodeExpr{ + pos: position{line: 2090, col: 5, offset: 67419}, + run: (*parser).callonSingleQuoteMonospaceTextEndDelimiter5, + }, + &andExpr{ + pos: position{line: 2094, col: 5, offset: 67533}, + expr: ¬Expr{ + pos: position{line: 2094, col: 7, offset: 67535}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMonospaceText", + pos: position{line: 2097, col: 1, offset: 67552}, + expr: &actionExpr{ + pos: position{line: 2098, col: 5, offset: 67585}, + run: (*parser).callonSingleQuoteMonospaceText1, + expr: &seqExpr{ + pos: position{line: 2098, col: 5, offset: 67585}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2080, col: 5, offset: 67148}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + &andCodeExpr{ + pos: position{line: 2081, col: 5, offset: 67157}, + run: (*parser).callonSingleQuoteMonospaceText4, + }, + &andExpr{ + pos: position{line: 2085, col: 5, offset: 67280}, + expr: ¬Expr{ + pos: position{line: 2085, col: 7, offset: 67282}, + expr: &litMatcher{ + pos: position{line: 2085, col: 8, offset: 67283}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + &labeledExpr{ + pos: position{line: 2099, col: 5, offset: 67629}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2099, col: 15, offset: 67639}, + name: "SingleQuoteMonospaceTextElements", + }, + }, + &ruleRefExpr{ + pos: position{line: 2100, col: 5, offset: 67678}, + name: "SingleQuoteMonospaceTextEndDelimiter", + }, + }, + }, + }, + }, + { + name: "SingleQuoteMonospaceTextElements", + pos: position{line: 2104, col: 1, offset: 67815}, + expr: &actionExpr{ + pos: position{line: 2105, col: 5, offset: 67856}, + run: (*parser).callonSingleQuoteMonospaceTextElements1, + expr: &seqExpr{ + pos: position{line: 2105, col: 5, offset: 67856}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2105, col: 5, offset: 67856}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSingleQuoteMonospaceTextElements4, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2106, col: 5, offset: 67895}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2106, col: 14, offset: 67904}, + expr: &ruleRefExpr{ + pos: position{line: 2106, col: 15, offset: 67905}, + name: "SingleQuoteMonospaceTextElement", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2107, col: 5, offset: 67943}, + run: (*parser).callonSingleQuoteMonospaceTextElements9, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMonospaceTextElement", + pos: position{line: 2113, col: 1, offset: 68084}, + expr: &actionExpr{ + pos: position{line: 2114, col: 5, offset: 68124}, + run: (*parser).callonSingleQuoteMonospaceTextElement1, + expr: &seqExpr{ + pos: position{line: 2114, col: 5, offset: 68124}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 2115, col: 5, offset: 68135}, + expr: &ruleRefExpr{ + pos: position{line: 2115, col: 6, offset: 68136}, + name: "SingleQuoteMonospaceTextEndDelimiter", + }, + }, + &labeledExpr{ + pos: position{line: 2116, col: 5, offset: 68177}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2116, col: 14, offset: 68186}, + name: "QuotedTextElement", + }, + }, + }, + }, + }, + }, + { + name: "EscapedMonospaceText", + pos: position{line: 2121, col: 1, offset: 68274}, + expr: &choiceExpr{ + pos: position{line: 2123, col: 5, offset: 68345}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2123, col: 5, offset: 68345}, + run: (*parser).callonEscapedMonospaceText2, + expr: &seqExpr{ + pos: position{line: 2123, col: 5, offset: 68345}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2123, col: 5, offset: 68345}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1846, col: 25, offset: 59530}, + run: (*parser).callonEscapedMonospaceText5, + expr: &seqExpr{ + pos: position{line: 1846, col: 25, offset: 59530}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1846, col: 25, offset: 59530}, + val: "\\\\", + ignoreCase: false, + want: "\"\\\\\\\\\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1846, col: 30, offset: 59535}, + expr: &litMatcher{ + pos: position{line: 1846, col: 30, offset: 59535}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, }, }, - &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteBoldTextElement113, - expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteBoldTextElement115, - }, - &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonSingleQuoteBoldTextElement118, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteBoldTextElement122, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteBoldTextElement124, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteBoldTextElement126, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteBoldTextElement128, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteBoldTextElement130, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteBoldTextElement132, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteBoldTextElement134, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteBoldTextElement136, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteBoldTextElement138, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteBoldTextElement140, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteBoldTextElement143, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteBoldTextElement145, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteBoldTextElement149, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteBoldTextElement156, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteBoldTextElement159, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteBoldTextElement163, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteBoldTextElement170, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteBoldTextElement172, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteBoldTextElement174, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteBoldTextElement176, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteBoldTextElement178, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteBoldTextElement180, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteBoldTextElement182, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteBoldTextElement184, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteBoldTextElement186, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteBoldTextElement188, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteBoldTextElement190, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteBoldTextElement192, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteBoldTextElement195, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteBoldTextElement197, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteBoldTextElement201, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteBoldTextElement208, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteBoldTextElement211, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteBoldTextElement215, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteBoldTextElement222, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteBoldTextElement224, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteBoldTextElement226, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteBoldTextElement228, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonSingleQuoteBoldTextElement230, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteBoldTextElement235, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteBoldTextElement237, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, + }, + &litMatcher{ + pos: position{line: 2123, col: 40, offset: 68380}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + &labeledExpr{ + pos: position{line: 2123, col: 45, offset: 68385}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2123, col: 55, offset: 68395}, + name: "DoubleQuoteMonospaceTextElements", }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteBoldTextElement241, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteBoldTextElement243, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonSingleQuoteBoldTextElement246, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonSingleQuoteBoldTextElement248, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteBoldTextElement252, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteBoldTextElement256, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonSingleQuoteBoldTextElement262, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteBoldTextElement267, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteBoldTextElement271, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteBoldTextElement277, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteBoldTextElement281, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonSingleQuoteBoldTextElement287, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonSingleQuoteBoldTextElement290, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteBoldTextElement294, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonSingleQuoteBoldTextElement298, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + }, + &litMatcher{ + pos: position{line: 2123, col: 89, offset: 68429}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2127, col: 7, offset: 68598}, + run: (*parser).callonEscapedMonospaceText14, + expr: &seqExpr{ + pos: position{line: 2127, col: 7, offset: 68598}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2127, col: 7, offset: 68598}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedMonospaceText17, + expr: &oneOrMoreExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, - &ruleRefExpr{ - pos: position{line: 1953, col: 11, offset: 62712}, - name: "QuotedText", + }, + &litMatcher{ + pos: position{line: 2127, col: 42, offset: 68633}, + val: "``", + ignoreCase: false, + want: "\"``\"", + }, + &labeledExpr{ + pos: position{line: 2127, col: 47, offset: 68638}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2127, col: 57, offset: 68648}, + name: "SingleQuoteMonospaceTextElements", }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonSingleQuoteBoldTextElement301, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonSingleQuoteBoldTextElement305, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, + }, + &litMatcher{ + pos: position{line: 2127, col: 91, offset: 68682}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2132, col: 7, offset: 68888}, + run: (*parser).callonEscapedMonospaceText24, + expr: &seqExpr{ + pos: position{line: 2132, col: 7, offset: 68888}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2132, col: 7, offset: 68888}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedMonospaceText27, + expr: &oneOrMoreExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, }, }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonSingleQuoteBoldTextElement309, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + }, + &litMatcher{ + pos: position{line: 2132, col: 42, offset: 68923}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + &labeledExpr{ + pos: position{line: 2132, col: 46, offset: 68927}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2132, col: 56, offset: 68937}, + name: "SingleQuoteMonospaceTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2132, col: 90, offset: 68971}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + }, + { + name: "DoubleQuoteMarkedText", + pos: position{line: 2149, col: 1, offset: 69456}, + expr: &actionExpr{ + pos: position{line: 2150, col: 5, offset: 69486}, + run: (*parser).callonDoubleQuoteMarkedText1, + expr: &seqExpr{ + pos: position{line: 2150, col: 5, offset: 69486}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2145, col: 40, offset: 69407}, + val: "##", + ignoreCase: false, + want: "\"##\"", + }, + &labeledExpr{ + pos: position{line: 2151, col: 5, offset: 69527}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2151, col: 15, offset: 69537}, + name: "DoubleQuoteMarkedTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2147, col: 38, offset: 69450}, + val: "##", + ignoreCase: false, + want: "\"##\"", + }, + }, + }, + }, + }, + { + name: "DoubleQuoteMarkedTextElements", + pos: position{line: 2156, col: 1, offset: 69703}, + expr: &zeroOrMoreExpr{ + pos: position{line: 2156, col: 34, offset: 69736}, + expr: &ruleRefExpr{ + pos: position{line: 2156, col: 34, offset: 69736}, + name: "DoubleQuoteMarkedTextElement", + }, + }, + }, + { + name: "DoubleQuoteMarkedTextElement", + pos: position{line: 2158, col: 1, offset: 69767}, + expr: &actionExpr{ + pos: position{line: 2159, col: 5, offset: 69836}, + run: (*parser).callonDoubleQuoteMarkedTextElement1, + expr: &seqExpr{ + pos: position{line: 2159, col: 5, offset: 69836}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 2160, col: 5, offset: 69847}, + expr: &litMatcher{ + pos: position{line: 2147, col: 38, offset: 69450}, + val: "##", + ignoreCase: false, + want: "\"##\"", + }, + }, + &labeledExpr{ + pos: position{line: 2161, col: 5, offset: 69886}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2161, col: 14, offset: 69895}, + name: "QuotedTextElement", + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMarkedText", + pos: position{line: 2186, col: 1, offset: 70577}, + expr: &actionExpr{ + pos: position{line: 2187, col: 5, offset: 70607}, + run: (*parser).callonSingleQuoteMarkedText1, + expr: &seqExpr{ + pos: position{line: 2187, col: 5, offset: 70607}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2170, col: 5, offset: 70143}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + &andCodeExpr{ + pos: position{line: 2171, col: 5, offset: 70152}, + run: (*parser).callonSingleQuoteMarkedText4, + }, + &andExpr{ + pos: position{line: 2175, col: 5, offset: 70272}, + expr: ¬Expr{ + pos: position{line: 2175, col: 7, offset: 70274}, + expr: &litMatcher{ + pos: position{line: 2175, col: 8, offset: 70275}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + }, + }, + &labeledExpr{ + pos: position{line: 2188, col: 5, offset: 70647}, + label: "elements", + expr: &ruleRefExpr{ + pos: position{line: 2188, col: 15, offset: 70657}, + name: "SingleQuoteMarkedTextElements", + }, + }, + &litMatcher{ + pos: position{line: 2178, col: 5, offset: 70380}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + ¬Expr{ + pos: position{line: 2179, col: 5, offset: 70388}, + expr: &litMatcher{ + pos: position{line: 2179, col: 6, offset: 70389}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + }, + &andCodeExpr{ + pos: position{line: 2180, col: 5, offset: 70452}, + run: (*parser).callonSingleQuoteMarkedText13, + }, + &andExpr{ + pos: position{line: 2184, col: 5, offset: 70563}, + expr: ¬Expr{ + pos: position{line: 2184, col: 7, offset: 70565}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMarkedTextElements", + pos: position{line: 2193, col: 1, offset: 70824}, + expr: &actionExpr{ + pos: position{line: 2194, col: 5, offset: 70862}, + run: (*parser).callonSingleQuoteMarkedTextElements1, + expr: &seqExpr{ + pos: position{line: 2194, col: 5, offset: 70862}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2194, col: 5, offset: 70862}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSingleQuoteMarkedTextElements4, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2195, col: 5, offset: 70901}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2195, col: 14, offset: 70910}, + expr: &ruleRefExpr{ + pos: position{line: 2195, col: 15, offset: 70911}, + name: "SingleQuoteMarkedTextElement", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2196, col: 5, offset: 70947}, + run: (*parser).callonSingleQuoteMarkedTextElements9, + }, + }, + }, + }, + }, + { + name: "SingleQuoteMarkedTextElement", + pos: position{line: 2202, col: 1, offset: 71088}, + expr: &actionExpr{ + pos: position{line: 2203, col: 5, offset: 71125}, + run: (*parser).callonSingleQuoteMarkedTextElement1, + expr: &seqExpr{ + pos: position{line: 2203, col: 5, offset: 71125}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + ¬Expr{ + pos: position{line: 2204, col: 5, offset: 71136}, + expr: &seqExpr{ + pos: position{line: 2178, col: 5, offset: 70380}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2178, col: 5, offset: 70380}, + val: "#", + ignoreCase: false, + want: "\"#\"", + }, + ¬Expr{ + pos: position{line: 2179, col: 5, offset: 70388}, + expr: &litMatcher{ + pos: position{line: 2179, col: 6, offset: 70389}, + val: "#", ignoreCase: false, - inverted: true, + want: "\"#\"", + }, + }, + &andCodeExpr{ + pos: position{line: 2180, col: 5, offset: 70452}, + run: (*parser).callonSingleQuoteMarkedTextElement10, + }, + &andExpr{ + pos: position{line: 2184, col: 5, offset: 70563}, + expr: ¬Expr{ + pos: position{line: 2184, col: 7, offset: 70565}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, }, + &labeledExpr{ + pos: position{line: 2205, col: 5, offset: 71175}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2205, col: 14, offset: 71184}, + name: "QuotedTextElement", + }, + }, }, }, }, }, { - name: "EscapedBoldText", - pos: position{line: 1961, col: 1, offset: 62845}, + name: "EscapedMarkedText", + pos: position{line: 2210, col: 1, offset: 71272}, expr: &choiceExpr{ - pos: position{line: 1963, col: 5, offset: 62906}, + pos: position{line: 2212, col: 5, offset: 71336}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1963, col: 5, offset: 62906}, - run: (*parser).callonEscapedBoldText2, + pos: position{line: 2212, col: 5, offset: 71336}, + run: (*parser).callonEscapedMarkedText2, expr: &seqExpr{ - pos: position{line: 1963, col: 5, offset: 62906}, + pos: position{line: 2212, col: 5, offset: 71336}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1963, col: 5, offset: 62906}, + pos: position{line: 2212, col: 5, offset: 71336}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, - run: (*parser).callonEscapedBoldText5, + pos: position{line: 1846, col: 25, offset: 59530}, + run: (*parser).callonEscapedMarkedText5, expr: &seqExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, + pos: position{line: 1846, col: 25, offset: 59530}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1854, col: 25, offset: 59815}, + pos: position{line: 1846, col: 25, offset: 59530}, val: "\\\\", ignoreCase: false, want: "\"\\\\\\\\\"", }, &zeroOrMoreExpr{ - pos: position{line: 1854, col: 30, offset: 59820}, + pos: position{line: 1846, col: 30, offset: 59535}, expr: &litMatcher{ - pos: position{line: 1854, col: 30, offset: 59820}, + pos: position{line: 1846, col: 30, offset: 59535}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -50070,44 +44426,44 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1963, col: 40, offset: 62941}, - val: "**", + pos: position{line: 2212, col: 40, offset: 71371}, + val: "##", ignoreCase: false, - want: "\"**\"", + want: "\"##\"", }, &labeledExpr{ - pos: position{line: 1963, col: 45, offset: 62946}, + pos: position{line: 2212, col: 45, offset: 71376}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1963, col: 55, offset: 62956}, - name: "DoubleQuoteBoldTextElements", + pos: position{line: 2212, col: 55, offset: 71386}, + name: "DoubleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 1963, col: 84, offset: 62985}, - val: "**", + pos: position{line: 2212, col: 86, offset: 71417}, + val: "##", ignoreCase: false, - want: "\"**\"", + want: "\"##\"", }, }, }, }, &actionExpr{ - pos: position{line: 1967, col: 7, offset: 63149}, - run: (*parser).callonEscapedBoldText14, + pos: position{line: 2216, col: 7, offset: 71582}, + run: (*parser).callonEscapedMarkedText14, expr: &seqExpr{ - pos: position{line: 1967, col: 7, offset: 63149}, + pos: position{line: 2216, col: 7, offset: 71582}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1967, col: 7, offset: 63149}, + pos: position{line: 2216, col: 7, offset: 71582}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedBoldText17, + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedMarkedText17, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, + pos: position{line: 1842, col: 25, offset: 59457}, expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, + pos: position{line: 1842, col: 25, offset: 59457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -50116,44 +44472,44 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1967, col: 42, offset: 63184}, - val: "**", + pos: position{line: 2216, col: 42, offset: 71617}, + val: "##", ignoreCase: false, - want: "\"**\"", + want: "\"##\"", }, &labeledExpr{ - pos: position{line: 1967, col: 47, offset: 63189}, + pos: position{line: 2216, col: 47, offset: 71622}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1967, col: 57, offset: 63199}, - name: "SingleQuoteBoldTextElements", + pos: position{line: 2216, col: 57, offset: 71632}, + name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 1967, col: 86, offset: 63228}, - val: "*", + pos: position{line: 2216, col: 88, offset: 71663}, + val: "#", ignoreCase: false, - want: "\"*\"", + want: "\"#\"", }, }, }, }, &actionExpr{ - pos: position{line: 1972, col: 7, offset: 63430}, - run: (*parser).callonEscapedBoldText24, + pos: position{line: 2221, col: 7, offset: 71866}, + run: (*parser).callonEscapedMarkedText24, expr: &seqExpr{ - pos: position{line: 1972, col: 7, offset: 63430}, + pos: position{line: 2221, col: 7, offset: 71866}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 1972, col: 7, offset: 63430}, + pos: position{line: 2221, col: 7, offset: 71866}, label: "backslashes", expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedBoldText27, + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedMarkedText27, expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, + pos: position{line: 1842, col: 25, offset: 59457}, expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, + pos: position{line: 1842, col: 25, offset: 59457}, val: "\\", ignoreCase: false, want: "\"\\\\\"", @@ -50162,24 +44518,24 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 1972, col: 42, offset: 63465}, - val: "*", + pos: position{line: 2221, col: 42, offset: 71901}, + val: "#", ignoreCase: false, - want: "\"*\"", + want: "\"#\"", }, &labeledExpr{ - pos: position{line: 1972, col: 46, offset: 63469}, + pos: position{line: 2221, col: 46, offset: 71905}, label: "elements", expr: &ruleRefExpr{ - pos: position{line: 1972, col: 56, offset: 63479}, - name: "SingleQuoteBoldTextElements", + pos: position{line: 2221, col: 56, offset: 71915}, + name: "SingleQuoteMarkedTextElements", }, }, &litMatcher{ - pos: position{line: 1972, col: 85, offset: 63508}, - val: "*", + pos: position{line: 2221, col: 87, offset: 71946}, + val: "#", ignoreCase: false, - want: "\"*\"", + want: "\"#\"", }, }, }, @@ -50188,550 +44544,546 @@ var g = &grammar{ }, }, { - name: "DoubleQuoteItalicText", - pos: position{line: 1996, col: 1, offset: 64171}, + name: "SubscriptText", + pos: position{line: 2228, col: 1, offset: 72213}, expr: &actionExpr{ - pos: position{line: 1997, col: 5, offset: 64201}, - run: (*parser).callonDoubleQuoteItalicText1, + pos: position{line: 2229, col: 5, offset: 72235}, + run: (*parser).callonSubscriptText1, expr: &seqExpr{ - pos: position{line: 1997, col: 5, offset: 64201}, + pos: position{line: 2229, col: 5, offset: 72235}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 1992, col: 40, offset: 64122}, - val: "__", + pos: position{line: 2235, col: 27, offset: 72450}, + val: "~", ignoreCase: false, - want: "\"__\"", + want: "\"~\"", }, &labeledExpr{ - pos: position{line: 1998, col: 5, offset: 64242}, - label: "elements", + pos: position{line: 2230, col: 5, offset: 72262}, + label: "element", expr: &ruleRefExpr{ - pos: position{line: 1998, col: 15, offset: 64252}, - name: "DoubleQuoteItalicTextElements", + pos: position{line: 2230, col: 14, offset: 72271}, + name: "SubscriptTextElement", }, }, &litMatcher{ - pos: position{line: 1994, col: 38, offset: 64165}, - val: "__", + pos: position{line: 2235, col: 27, offset: 72450}, + val: "~", ignoreCase: false, - want: "\"__\"", + want: "\"~\"", }, }, }, }, }, { - name: "DoubleQuoteItalicTextElements", - pos: position{line: 2003, col: 1, offset: 64417}, - expr: &oneOrMoreExpr{ - pos: position{line: 2003, col: 34, offset: 64450}, - expr: &ruleRefExpr{ - pos: position{line: 2003, col: 34, offset: 64450}, - name: "DoubleQuoteItalicTextElement", + name: "SubscriptTextElement", + pos: position{line: 2237, col: 1, offset: 72455}, + expr: &choiceExpr{ + pos: position{line: 2237, col: 25, offset: 72479}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2237, col: 25, offset: 72479}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 2239, col: 21, offset: 72531}, + run: (*parser).callonSubscriptTextElement3, + expr: &oneOrMoreExpr{ + pos: position{line: 2239, col: 21, offset: 72531}, + expr: &charClassMatcher{ + pos: position{line: 2239, col: 21, offset: 72531}, + val: "[^\\r\\n ~]", + chars: []rune{'\r', '\n', ' ', '~'}, + ignoreCase: false, + inverted: true, + }, + }, + }, }, }, }, { - name: "DoubleQuoteItalicTextElement", - pos: position{line: 2005, col: 1, offset: 64482}, + name: "EscapedSubscriptText", + pos: position{line: 2243, col: 1, offset: 72616}, expr: &actionExpr{ - pos: position{line: 2006, col: 5, offset: 64519}, - run: (*parser).callonDoubleQuoteItalicTextElement1, + pos: position{line: 2245, col: 5, offset: 72683}, + run: (*parser).callonEscapedSubscriptText1, expr: &seqExpr{ - pos: position{line: 2006, col: 5, offset: 64519}, + pos: position{line: 2245, col: 5, offset: 72683}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2006, col: 5, offset: 64519}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &labeledExpr{ + pos: position{line: 2245, col: 5, offset: 72683}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedSubscriptText4, + expr: &oneOrMoreExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, }, }, }, - ¬Expr{ - pos: position{line: 2007, col: 5, offset: 64528}, - expr: &litMatcher{ - pos: position{line: 1994, col: 38, offset: 64165}, - val: "__", - ignoreCase: false, - want: "\"__\"", + &litMatcher{ + pos: position{line: 2235, col: 27, offset: 72450}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + &labeledExpr{ + pos: position{line: 2247, col: 5, offset: 72751}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2247, col: 14, offset: 72760}, + name: "SubscriptTextElement", }, }, + &litMatcher{ + pos: position{line: 2235, col: 27, offset: 72450}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + }, + }, + }, + }, + { + name: "SuperscriptText", + pos: position{line: 2255, col: 1, offset: 73023}, + expr: &actionExpr{ + pos: position{line: 2256, col: 5, offset: 73047}, + run: (*parser).callonSuperscriptText1, + expr: &seqExpr{ + pos: position{line: 2256, col: 5, offset: 73047}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2262, col: 29, offset: 73274}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, &labeledExpr{ - pos: position{line: 2008, col: 5, offset: 64567}, + pos: position{line: 2257, col: 5, offset: 73077}, label: "element", - expr: &choiceExpr{ - pos: position{line: 2009, col: 9, offset: 64585}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1983, col: 5, offset: 63813}, - run: (*parser).callonDoubleQuoteItalicTextElement10, - expr: &seqExpr{ - pos: position{line: 1983, col: 5, offset: 63813}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1983, col: 6, offset: 63814}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 1984, col: 5, offset: 63859}, - expr: &charClassMatcher{ - pos: position{line: 1984, col: 6, offset: 63860}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 1985, col: 5, offset: 63879}, - expr: &choiceExpr{ - pos: position{line: 1985, col: 7, offset: 63881}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteItalicTextElement17, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1980, col: 24, offset: 63785}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonDoubleQuoteItalicTextElement20, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + expr: &ruleRefExpr{ + pos: position{line: 2257, col: 14, offset: 73086}, + name: "SuperscriptTextElement", + }, + }, + &litMatcher{ + pos: position{line: 2262, col: 29, offset: 73274}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + }, + }, + }, + }, + { + name: "SuperscriptTextElement", + pos: position{line: 2264, col: 1, offset: 73279}, + expr: &choiceExpr{ + pos: position{line: 2264, col: 27, offset: 73305}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2264, col: 27, offset: 73305}, + name: "QuotedText", + }, + &actionExpr{ + pos: position{line: 2266, col: 23, offset: 73361}, + run: (*parser).callonSuperscriptTextElement3, + expr: &oneOrMoreExpr{ + pos: position{line: 2266, col: 23, offset: 73361}, + expr: &charClassMatcher{ + pos: position{line: 2266, col: 23, offset: 73361}, + val: "[^\\r\\n ^]", + chars: []rune{'\r', '\n', ' ', '^'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + { + name: "EscapedSuperscriptText", + pos: position{line: 2270, col: 1, offset: 73446}, + expr: &actionExpr{ + pos: position{line: 2272, col: 5, offset: 73518}, + run: (*parser).callonEscapedSuperscriptText1, + expr: &seqExpr{ + pos: position{line: 2272, col: 5, offset: 73518}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2272, col: 5, offset: 73518}, + label: "backslashes", + expr: &actionExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + run: (*parser).callonEscapedSuperscriptText4, + expr: &oneOrMoreExpr{ + pos: position{line: 1842, col: 25, offset: 59457}, + expr: &litMatcher{ + pos: position{line: 1842, col: 25, offset: 59457}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", }, - &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonDoubleQuoteItalicTextElement23, - expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteItalicTextElement25, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteItalicTextElement31, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2262, col: 29, offset: 73274}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + &labeledExpr{ + pos: position{line: 2274, col: 5, offset: 73588}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2274, col: 14, offset: 73597}, + name: "SuperscriptTextElement", + }, + }, + &litMatcher{ + pos: position{line: 2262, col: 29, offset: 73274}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + }, + }, + }, + }, + { + name: "Section", + pos: position{line: 2283, col: 1, offset: 74066}, + expr: &actionExpr{ + pos: position{line: 2284, col: 5, offset: 74082}, + run: (*parser).callonSection1, + expr: &seqExpr{ + pos: position{line: 2284, col: 5, offset: 74082}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2284, col: 5, offset: 74082}, + run: (*parser).callonSection3, + }, + &labeledExpr{ + pos: position{line: 2287, col: 5, offset: 74145}, + label: "level", + expr: &actionExpr{ + pos: position{line: 2287, col: 12, offset: 74152}, + run: (*parser).callonSection5, + expr: &oneOrMoreExpr{ + pos: position{line: 2287, col: 12, offset: 74152}, + expr: &litMatcher{ + pos: position{line: 2287, col: 13, offset: 74153}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2291, col: 5, offset: 74261}, + run: (*parser).callonSection8, + }, + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonSection9, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2295, col: 12, offset: 74420}, + label: "title", + expr: &ruleRefExpr{ + pos: position{line: 2295, col: 19, offset: 74427}, + name: "SectionTitle", + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSection15, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "SectionTitle", + pos: position{line: 2299, col: 1, offset: 74523}, + expr: &actionExpr{ + pos: position{line: 2300, col: 5, offset: 74544}, + run: (*parser).callonSectionTitle1, + expr: &seqExpr{ + pos: position{line: 2300, col: 5, offset: 74544}, + exprs: []interface{}{ + &stateCodeExpr{ + pos: position{line: 2300, col: 5, offset: 74544}, + run: (*parser).callonSectionTitle3, + }, + &labeledExpr{ + pos: position{line: 2305, col: 5, offset: 74659}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2305, col: 14, offset: 74668}, + expr: &ruleRefExpr{ + pos: position{line: 2305, col: 15, offset: 74669}, + name: "SectionTitleElement", + }, + }, + }, + }, + }, + }, + }, + { + name: "SectionTitleElement", + pos: position{line: 2309, col: 1, offset: 74750}, + expr: &actionExpr{ + pos: position{line: 2310, col: 5, offset: 74777}, + run: (*parser).callonSectionTitleElement1, + expr: &seqExpr{ + pos: position{line: 2310, col: 5, offset: 74777}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2310, col: 5, offset: 74777}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSectionTitleElement5, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2311, col: 5, offset: 74786}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2312, col: 9, offset: 74804}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteItalicTextElement36, + pos: position{line: 2755, col: 5, offset: 87520}, + run: (*parser).callonSectionTitleElement14, expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, + pos: position{line: 2755, col: 5, offset: 87520}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteItalicTextElement38, + &oneOrMoreExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + expr: &charClassMatcher{ + pos: position{line: 2755, col: 5, offset: 87520}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonDoubleQuoteItalicTextElement41, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteItalicTextElement45, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteItalicTextElement52, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteItalicTextElement57, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteItalicTextElement59, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &choiceExpr{ + pos: position{line: 2771, col: 9, offset: 87859}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSectionTitleElement19, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonSectionTitleElement21, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonDoubleQuoteItalicTextElement63, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteItalicTextElement67, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + &andCodeExpr{ + pos: position{line: 2773, col: 11, offset: 87889}, + run: (*parser).callonSectionTitleElement27, + }, + &andExpr{ + pos: position{line: 2776, col: 11, offset: 87967}, + expr: &seqExpr{ + pos: position{line: 2777, col: 13, offset: 87982}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2777, col: 13, offset: 87982}, + expr: &seqExpr{ + pos: position{line: 2777, col: 15, offset: 87984}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2777, col: 15, offset: 87984}, + val: ":", + ignoreCase: false, + want: "\":\"", }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteItalicTextElement74, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", + ¬Expr{ + pos: position{line: 2777, col: 19, offset: 87988}, + expr: &choiceExpr{ + pos: position{line: 2777, col: 21, offset: 87990}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSectionTitleElement35, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSectionTitleElement37, expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteItalicTextElement79, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteItalicTextElement81, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteItalicTextElement85, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteItalicTextElement89, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteItalicTextElement95, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteItalicTextElement99, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", + ¬Expr{ + pos: position{line: 2778, col: 13, offset: 88016}, + expr: &litMatcher{ + pos: position{line: 2778, col: 14, offset: 88017}, + val: "@", ignoreCase: false, - want: "\"}\"", + want: "\"@\"", }, }, }, @@ -50742,197 +45094,436 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 2013, col: 11, offset: 64747}, - name: "InlineMacro", - }, &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteItalicTextElement106, + pos: position{line: 2335, col: 5, offset: 75537}, + run: (*parser).callonSectionTitleElement46, expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, + pos: position{line: 2335, col: 5, offset: 75537}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteItalicTextElement108, + pos: position{line: 2335, col: 5, offset: 75537}, + run: (*parser).callonSectionTitleElement48, }, &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonDoubleQuoteItalicTextElement111, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteItalicTextElement115, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteItalicTextElement117, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteItalicTextElement119, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteItalicTextElement121, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteItalicTextElement123, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteItalicTextElement125, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteItalicTextElement127, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteItalicTextElement129, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteItalicTextElement131, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteItalicTextElement133, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteItalicTextElement136, + pos: position{line: 2338, col: 5, offset: 75592}, + label: "id", + expr: &actionExpr{ + pos: position{line: 404, col: 5, offset: 12338}, + run: (*parser).callonSectionTitleElement50, + expr: &seqExpr{ + pos: position{line: 404, col: 5, offset: 12338}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 404, col: 5, offset: 12338}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 405, col: 5, offset: 12348}, + label: "id", + expr: &actionExpr{ + pos: position{line: 406, col: 9, offset: 12361}, + run: (*parser).callonSectionTitleElement54, + expr: &labeledExpr{ + pos: position{line: 406, col: 9, offset: 12361}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 406, col: 18, offset: 12370}, + expr: &choiceExpr{ + pos: position{line: 407, col: 13, offset: 12384}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 407, col: 14, offset: 12385}, + run: (*parser).callonSectionTitleElement58, + expr: &oneOrMoreExpr{ + pos: position{line: 407, col: 14, offset: 12385}, + expr: &charClassMatcher{ + pos: position{line: 407, col: 14, offset: 12385}, + val: "[^=\\r\\n�{]]", + chars: []rune{'=', '\r', '\n', '�', '{', ']'}, + ignoreCase: false, + inverted: true, + }, }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteItalicTextElement138, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonSectionTitleElement61, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonSectionTitleElement65, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonSectionTitleElement69, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonSectionTitleElement71, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 639, col: 14, offset: 20187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteItalicTextElement142, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonSectionTitleElement74, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", ignoreCase: false, - want: "\"\\n\"", + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement78, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", ignoreCase: false, - want: "\"\\r\\n\"", + want: "\"}\"", }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonSectionTitleElement84, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", ignoreCase: false, - want: "\"\\r\"", + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement88, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonSectionTitleElement94, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement98, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonSectionTitleElement105, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonSectionTitleElement110, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonSectionTitleElement112, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonSectionTitleElement116, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement120, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonSectionTitleElement127, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonSectionTitleElement132, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonSectionTitleElement134, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, }, }, }, @@ -50941,423 +45532,259 @@ var g = &grammar{ }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteItalicTextElement149, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", + &actionExpr{ + pos: position{line: 412, col: 16, offset: 12618}, + run: (*parser).callonSectionTitleElement138, + expr: &litMatcher{ + pos: position{line: 412, col: 16, offset: 12618}, + val: "{", ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteItalicTextElement152, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteItalicTextElement156, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, + want: "\"{\"", }, }, }, }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteItalicTextElement163, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteItalicTextElement165, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteItalicTextElement167, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteItalicTextElement169, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteItalicTextElement171, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteItalicTextElement173, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteItalicTextElement175, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteItalicTextElement177, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteItalicTextElement179, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteItalicTextElement181, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteItalicTextElement183, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", + &litMatcher{ + pos: position{line: 418, col: 5, offset: 12804}, + val: "]]", ignoreCase: false, - want: "\"...\"", + want: "\"]]\"", }, }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2338, col: 26, offset: 75613}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSectionTitleElement142, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 2338, col: 33, offset: 75620}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteItalicTextElement185, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSectionTitleElement146, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - want: "\"--\"", + want: "\"\\n\"", }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteItalicTextElement188, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteItalicTextElement190, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteItalicTextElement194, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteItalicTextElement201, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteItalicTextElement204, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteItalicTextElement208, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteItalicTextElement215, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteItalicTextElement217, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteItalicTextElement219, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteItalicTextElement221, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonDoubleQuoteItalicTextElement223, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSectionTitleElement153, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonSectionTitleElement155, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + run: (*parser).callonSectionTitleElement161, + expr: &seqExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2484, col: 5, offset: 79986}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2484, col: 10, offset: 79991}, + expr: &charClassMatcher{ + pos: position{line: 2484, col: 11, offset: 79992}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonSectionTitleElement166, + expr: &seqExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonSectionTitleElement168, + }, + &andCodeExpr{ + pos: position{line: 2493, col: 5, offset: 80250}, + run: (*parser).callonSectionTitleElement169, + }, + &litMatcher{ + pos: position{line: 2497, col: 5, offset: 80375}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2497, col: 9, offset: 80379}, + expr: &charClassMatcher{ + pos: position{line: 2497, col: 10, offset: 80380}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2317, col: 11, offset: 74913}, + name: "Replacement", + }, + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonSectionTitleElement174, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSectionTitleElement181, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"\\\\'\"", + inverted: false, }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSectionTitleElement183, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteItalicTextElement228, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteItalicTextElement230, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -51365,782 +45792,328 @@ var g = &grammar{ }, }, }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonSectionTitleElement191, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonSectionTitleElement194, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonSectionTitleElement197, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonSectionTitleElement200, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2319, col: 11, offset: 74986}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2320, col: 11, offset: 75002}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2321, col: 11, offset: 75030}, + name: "Link", + }, + &actionExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonSectionTitleElement205, + expr: &seqExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonSectionTitleElement207, + }, + &labeledExpr{ + pos: position{line: 2456, col: 5, offset: 78891}, + label: "element", + expr: &actionExpr{ + pos: position{line: 2457, col: 9, offset: 78909}, + run: (*parser).callonSectionTitleElement209, + expr: &charClassMatcher{ + pos: position{line: 2457, col: 10, offset: 78910}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, + &ruleRefExpr{ + pos: position{line: 2323, col: 11, offset: 75115}, + name: "InlineIcon", + }, &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteItalicTextElement234, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonSectionTitleElement212, expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, + pos: position{line: 636, col: 5, offset: 20111}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteItalicTextElement236, + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonSectionTitleElement214, }, &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, + pos: position{line: 639, col: 5, offset: 20178}, label: "element", expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, + pos: position{line: 639, col: 14, offset: 20187}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonDoubleQuoteItalicTextElement239, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonDoubleQuoteItalicTextElement241, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteItalicTextElement245, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonSectionTitleElement217, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement221, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteItalicTextElement249, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonSectionTitleElement227, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement231, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonSectionTitleElement237, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement241, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonDoubleQuoteItalicTextElement255, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteItalicTextElement260, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteItalicTextElement264, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonSectionTitleElement248, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonSectionTitleElement253, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, }, }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteItalicTextElement270, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteItalicTextElement274, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonSectionTitleElement255, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonDoubleQuoteItalicTextElement280, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonDoubleQuoteItalicTextElement283, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteItalicTextElement287, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonDoubleQuoteItalicTextElement291, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2016, col: 11, offset: 64868}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonDoubleQuoteItalicTextElement294, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonDoubleQuoteItalicTextElement298, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonDoubleQuoteItalicTextElement302, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteItalicText", - pos: position{line: 2045, col: 1, offset: 65596}, - expr: &actionExpr{ - pos: position{line: 2046, col: 5, offset: 65626}, - run: (*parser).callonSingleQuoteItalicText1, - expr: &seqExpr{ - pos: position{line: 2046, col: 5, offset: 65626}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2028, col: 5, offset: 65155}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - &andCodeExpr{ - pos: position{line: 2029, col: 5, offset: 65164}, - run: (*parser).callonSingleQuoteItalicText4, - }, - &andExpr{ - pos: position{line: 2033, col: 5, offset: 65284}, - expr: ¬Expr{ - pos: position{line: 2033, col: 7, offset: 65286}, - expr: &litMatcher{ - pos: position{line: 2033, col: 8, offset: 65287}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - &labeledExpr{ - pos: position{line: 2047, col: 5, offset: 65666}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2047, col: 15, offset: 65676}, - name: "SingleQuoteItalicTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2037, col: 5, offset: 65397}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - ¬Expr{ - pos: position{line: 2038, col: 5, offset: 65406}, - expr: &litMatcher{ - pos: position{line: 2038, col: 6, offset: 65407}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - &andCodeExpr{ - pos: position{line: 2039, col: 5, offset: 65471}, - run: (*parser).callonSingleQuoteItalicText13, - }, - &andExpr{ - pos: position{line: 2043, col: 5, offset: 65582}, - expr: ¬Expr{ - pos: position{line: 2043, col: 7, offset: 65584}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteItalicTextElements", - pos: position{line: 2052, col: 1, offset: 65843}, - expr: &actionExpr{ - pos: position{line: 2053, col: 5, offset: 65881}, - run: (*parser).callonSingleQuoteItalicTextElements1, - expr: &seqExpr{ - pos: position{line: 2053, col: 5, offset: 65881}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2053, col: 5, offset: 65881}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteItalicTextElements4, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2054, col: 5, offset: 65920}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2054, col: 14, offset: 65929}, - expr: &ruleRefExpr{ - pos: position{line: 2054, col: 15, offset: 65930}, - name: "SingleQuoteItalicTextElement", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2055, col: 5, offset: 65965}, - run: (*parser).callonSingleQuoteItalicTextElements9, - }, - }, - }, - }, - }, - { - name: "SingleQuoteItalicTextElement", - pos: position{line: 2061, col: 1, offset: 66106}, - expr: &actionExpr{ - pos: position{line: 2062, col: 5, offset: 66143}, - run: (*parser).callonSingleQuoteItalicTextElement1, - expr: &seqExpr{ - pos: position{line: 2062, col: 5, offset: 66143}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2062, col: 5, offset: 66143}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - ¬Expr{ - pos: position{line: 2063, col: 5, offset: 66152}, - expr: &seqExpr{ - pos: position{line: 2037, col: 5, offset: 65397}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2037, col: 5, offset: 65397}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - ¬Expr{ - pos: position{line: 2038, col: 5, offset: 65406}, - expr: &litMatcher{ - pos: position{line: 2038, col: 6, offset: 65407}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - &andCodeExpr{ - pos: position{line: 2039, col: 5, offset: 65471}, - run: (*parser).callonSingleQuoteItalicTextElement11, - }, - &andExpr{ - pos: position{line: 2043, col: 5, offset: 65582}, - expr: ¬Expr{ - pos: position{line: 2043, col: 7, offset: 65584}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2064, col: 5, offset: 66191}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2065, col: 9, offset: 66209}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1983, col: 5, offset: 63813}, - run: (*parser).callonSingleQuoteItalicTextElement17, - expr: &seqExpr{ - pos: position{line: 1983, col: 5, offset: 63813}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 1983, col: 6, offset: 63814}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 1984, col: 5, offset: 63859}, - expr: &charClassMatcher{ - pos: position{line: 1984, col: 6, offset: 63860}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 1985, col: 5, offset: 63879}, - expr: &choiceExpr{ - pos: position{line: 1985, col: 7, offset: 63881}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteItalicTextElement24, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1980, col: 24, offset: 63785}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonSingleQuoteItalicTextElement27, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonSingleQuoteItalicTextElement30, - expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteItalicTextElement32, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteItalicTextElement38, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteItalicTextElement43, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteItalicTextElement45, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonSingleQuoteItalicTextElement48, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteItalicTextElement52, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteItalicTextElement59, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteItalicTextElement64, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteItalicTextElement66, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + inverted: false, }, }, }, @@ -52153,7 +46126,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, + pos: position{line: 658, col: 78, offset: 20841}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52162,28 +46135,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonSingleQuoteItalicTextElement70, + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonSectionTitleElement259, expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, + pos: position{line: 662, col: 25, offset: 20959}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, + pos: position{line: 662, col: 25, offset: 20959}, val: "{counter2:", ignoreCase: false, want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, + pos: position{line: 662, col: 38, offset: 20972}, label: "name", expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteItalicTextElement74, + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonSectionTitleElement263, expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, + pos: position{line: 318, col: 18, offset: 9737}, val: "[_\\pL\\pN]", chars: []rune{'_'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -52191,9 +46164,9 @@ var g = &grammar{ inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + pos: position{line: 318, col: 28, offset: 9747}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, + pos: position{line: 318, col: 29, offset: 9748}, val: "[-\\pL\\pN]", chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, @@ -52206,33 +46179,33 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, + pos: position{line: 662, col: 57, offset: 20991}, label: "start", expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, + pos: position{line: 662, col: 63, offset: 20997}, expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteItalicTextElement81, + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonSectionTitleElement270, expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, + pos: position{line: 666, col: 17, offset: 21120}, val: ":", ignoreCase: false, want: "\":\"", }, &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, + pos: position{line: 666, col: 21, offset: 21124}, label: "start", expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteItalicTextElement86, + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonSectionTitleElement275, expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, + pos: position{line: 666, col: 28, offset: 21131}, val: "[A-Za-z]", ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, @@ -52240,12 +46213,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteItalicTextElement88, + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonSectionTitleElement277, expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, + pos: position{line: 668, col: 9, offset: 21185}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -52262,113 +46235,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteItalicTextElement92, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteItalicTextElement96, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteItalicTextElement102, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteItalicTextElement106, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, + pos: position{line: 662, col: 79, offset: 21013}, val: "}", ignoreCase: false, want: "\"}\"", @@ -52382,186 +46249,290 @@ var g = &grammar{ }, }, }, - &ruleRefExpr{ - pos: position{line: 2069, col: 11, offset: 66377}, - name: "InlineMacro", + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonSectionTitleElement281, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonSectionTitleElement285, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, }, &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteItalicTextElement113, + pos: position{line: 1253, col: 5, offset: 38724}, + run: (*parser).callonSectionTitleElement289, expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, + pos: position{line: 1253, col: 5, offset: 38724}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteItalicTextElement115, + &litMatcher{ + pos: position{line: 1253, col: 5, offset: 38724}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", }, &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonSingleQuoteItalicTextElement118, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteItalicTextElement122, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteItalicTextElement124, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteItalicTextElement126, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteItalicTextElement128, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteItalicTextElement130, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteItalicTextElement132, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteItalicTextElement134, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteItalicTextElement136, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, + pos: position{line: 1253, col: 14, offset: 38733}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + run: (*parser).callonSectionTitleElement293, + expr: &oneOrMoreExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + expr: &charClassMatcher{ + pos: position{line: 2887, col: 7, offset: 91192}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1253, col: 22, offset: 38741}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1258, col: 5, offset: 38860}, + run: (*parser).callonSectionTitleElement297, + expr: &seqExpr{ + pos: position{line: 1258, col: 5, offset: 38860}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1258, col: 5, offset: 38860}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1258, col: 10, offset: 38865}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + run: (*parser).callonSectionTitleElement301, + expr: &oneOrMoreExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + expr: &charClassMatcher{ + pos: position{line: 2887, col: 7, offset: 91192}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1258, col: 18, offset: 38873}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2327, col: 11, offset: 75338}, + name: "InlineFootnote", + }, + &actionExpr{ + pos: position{line: 2841, col: 12, offset: 89767}, + run: (*parser).callonSectionTitleElement306, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 12, offset: 89767}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "NormalGroup", + pos: position{line: 2348, col: 1, offset: 75882}, + expr: &actionExpr{ + pos: position{line: 2349, col: 5, offset: 75969}, + run: (*parser).callonNormalGroup1, + expr: &seqExpr{ + pos: position{line: 2349, col: 5, offset: 75969}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2349, col: 5, offset: 75969}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2349, col: 14, offset: 75978}, + expr: &actionExpr{ + pos: position{line: 2351, col: 9, offset: 76004}, + run: (*parser).callonNormalGroup5, + expr: &seqExpr{ + pos: position{line: 2351, col: 9, offset: 76004}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 2352, col: 9, offset: 76019}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2353, col: 13, offset: 76041}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + run: (*parser).callonNormalGroup11, + expr: &seqExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, + expr: &charClassMatcher{ + pos: position{line: 2755, col: 5, offset: 87520}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 2771, col: 9, offset: 87859}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNormalGroup16, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteItalicTextElement138, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonNormalGroup18, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, }, }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteItalicTextElement140, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteItalicTextElement143, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteItalicTextElement145, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + }, + &andCodeExpr{ + pos: position{line: 2773, col: 11, offset: 87889}, + run: (*parser).callonNormalGroup24, + }, + &andExpr{ + pos: position{line: 2776, col: 11, offset: 87967}, + expr: &seqExpr{ + pos: position{line: 2777, col: 13, offset: 87982}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2777, col: 13, offset: 87982}, + expr: &seqExpr{ + pos: position{line: 2777, col: 15, offset: 87984}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2777, col: 15, offset: 87984}, + val: ":", + ignoreCase: false, + want: "\":\"", }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, + ¬Expr{ + pos: position{line: 2777, col: 19, offset: 87988}, expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, + pos: position{line: 2777, col: 21, offset: 87990}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteItalicTextElement149, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNormalGroup32, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonNormalGroup34, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52570,9 +46541,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, + pos: position{line: 2921, col: 8, offset: 91888}, expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + line: 2921, col: 9, offset: 91889, }, }, }, @@ -52581,257 +46552,96 @@ var g = &grammar{ }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteItalicTextElement156, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", + ¬Expr{ + pos: position{line: 2778, col: 13, offset: 88016}, + expr: &litMatcher{ + pos: position{line: 2778, col: 14, offset: 88017}, + val: "@", ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteItalicTextElement159, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteItalicTextElement163, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, + want: "\"@\"", }, }, }, }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteItalicTextElement170, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteItalicTextElement172, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteItalicTextElement174, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteItalicTextElement176, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteItalicTextElement178, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteItalicTextElement180, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteItalicTextElement182, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteItalicTextElement184, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteItalicTextElement186, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteItalicTextElement188, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteItalicTextElement190, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteItalicTextElement192, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteItalicTextElement195, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteItalicTextElement197, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteItalicTextElement201, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + }, + &ruleRefExpr{ + pos: position{line: 2354, col: 15, offset: 76066}, + name: "Replacement", + }, + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonNormalGroup44, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNormalGroup51, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonNormalGroup53, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -52839,162 +46649,65 @@ var g = &grammar{ }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteItalicTextElement208, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteItalicTextElement211, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteItalicTextElement215, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonNormalGroup61, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteItalicTextElement222, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteItalicTextElement224, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteItalicTextElement226, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteItalicTextElement228, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonSingleQuoteItalicTextElement230, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonNormalGroup64, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, ignoreCase: false, inverted: false, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteItalicTextElement235, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteItalicTextElement237, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonNormalGroup67, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonNormalGroup70, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, ignoreCase: false, inverted: false, }, @@ -53003,153 +46716,280 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteItalicTextElement241, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteItalicTextElement243, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonSingleQuoteItalicTextElement246, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonSingleQuoteItalicTextElement248, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteItalicTextElement252, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNormalGroup72, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonNormalGroup74, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonNormalGroup80, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonNormalGroup85, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonNormalGroup87, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonNormalGroup90, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonNormalGroup94, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteItalicTextElement256, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonNormalGroup100, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", ignoreCase: false, - inverted: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonNormalGroup104, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonSingleQuoteItalicTextElement262, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonNormalGroup110, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonNormalGroup114, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteItalicTextElement267, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonNormalGroup121, expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - want: "\"\\\\{\"", + want: "\":\"", }, &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteItalicTextElement271, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonNormalGroup126, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonNormalGroup128, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, @@ -53158,51 +46998,107 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonNormalGroup132, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonNormalGroup136, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteItalicTextElement277, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonNormalGroup143, expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, + pos: position{line: 666, col: 17, offset: 21120}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", ignoreCase: false, - want: "\"{\"", + want: "\":\"", }, &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteItalicTextElement281, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonNormalGroup148, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonNormalGroup150, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, @@ -53211,73 +47107,194 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonSingleQuoteItalicTextElement287, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonSingleQuoteItalicTextElement290, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteItalicTextElement294, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + run: (*parser).callonNormalGroup154, + expr: &seqExpr{ + pos: position{line: 2484, col: 5, offset: 79986}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2484, col: 5, offset: 79986}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2484, col: 10, offset: 79991}, + expr: &charClassMatcher{ + pos: position{line: 2484, col: 11, offset: 79992}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonNormalGroup159, + expr: &seqExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2490, col: 5, offset: 80184}, + run: (*parser).callonNormalGroup161, + }, + &andCodeExpr{ + pos: position{line: 2493, col: 5, offset: 80250}, + run: (*parser).callonNormalGroup162, + }, + &litMatcher{ + pos: position{line: 2497, col: 5, offset: 80375}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2497, col: 9, offset: 80379}, + expr: &charClassMatcher{ + pos: position{line: 2497, col: 10, offset: 80380}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2361, col: 15, offset: 76271}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2362, col: 15, offset: 76291}, + name: "InlineMacro", + }, + &ruleRefExpr{ + pos: position{line: 2363, col: 15, offset: 76380}, + name: "Callout", + }, + &actionExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonNormalGroup169, + expr: &seqExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonNormalGroup171, + }, + &labeledExpr{ + pos: position{line: 2456, col: 5, offset: 78891}, + label: "element", + expr: &actionExpr{ + pos: position{line: 2457, col: 9, offset: 78909}, + run: (*parser).callonNormalGroup173, + expr: &charClassMatcher{ + pos: position{line: 2457, col: 10, offset: 78910}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1206, col: 5, offset: 37415}, + run: (*parser).callonNormalGroup175, + expr: &seqExpr{ + pos: position{line: 1206, col: 5, offset: 37415}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1206, col: 5, offset: 37415}, + run: (*parser).callonNormalGroup177, + }, + &litMatcher{ + pos: position{line: 1209, col: 5, offset: 37486}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &andCodeExpr{ + pos: position{line: 1210, col: 5, offset: 37494}, + run: (*parser).callonNormalGroup179, + }, + &zeroOrMoreExpr{ + pos: position{line: 1214, col: 5, offset: 37581}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonNormalGroup181, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1214, col: 12, offset: 37588}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonNormalGroup185, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -53285,236 +47302,73 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonSingleQuoteItalicTextElement298, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, + }, + &ruleRefExpr{ + pos: position{line: 2366, col: 15, offset: 76562}, + name: "InlinePassthrough", + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonNormalGroup193, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonNormalGroup197, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, }, }, }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2072, col: 11, offset: 66499}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonSingleQuoteItalicTextElement301, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonSingleQuoteItalicTextElement305, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, + &actionExpr{ + pos: position{line: 2841, col: 12, offset: 89767}, + run: (*parser).callonNormalGroup201, expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + pos: position{line: 2841, col: 12, offset: 89767}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - inverted: false, + inverted: true, }, }, }, }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonSingleQuoteItalicTextElement309, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "EscapedItalicText", - pos: position{line: 2080, col: 1, offset: 66632}, - expr: &choiceExpr{ - pos: position{line: 2082, col: 5, offset: 66697}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2082, col: 5, offset: 66697}, - run: (*parser).callonEscapedItalicText2, - expr: &seqExpr{ - pos: position{line: 2082, col: 5, offset: 66697}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2082, col: 5, offset: 66697}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, - run: (*parser).callonEscapedItalicText5, - expr: &seqExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1854, col: 25, offset: 59815}, - val: "\\\\", - ignoreCase: false, - want: "\"\\\\\\\\\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1854, col: 30, offset: 59820}, - expr: &litMatcher{ - pos: position{line: 1854, col: 30, offset: 59820}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2082, col: 40, offset: 66732}, - val: "__", - ignoreCase: false, - want: "\"__\"", - }, - &labeledExpr{ - pos: position{line: 2082, col: 45, offset: 66737}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2082, col: 55, offset: 66747}, - name: "DoubleQuoteItalicTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2082, col: 86, offset: 66778}, - val: "__", - ignoreCase: false, - want: "\"__\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2086, col: 7, offset: 66943}, - run: (*parser).callonEscapedItalicText14, - expr: &seqExpr{ - pos: position{line: 2086, col: 7, offset: 66943}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2086, col: 7, offset: 66943}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedItalicText17, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2086, col: 42, offset: 66978}, - val: "__", - ignoreCase: false, - want: "\"__\"", - }, - &labeledExpr{ - pos: position{line: 2086, col: 47, offset: 66983}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2086, col: 57, offset: 66993}, - name: "SingleQuoteItalicTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2086, col: 88, offset: 67024}, - val: "_", - ignoreCase: false, - want: "\"_\"", }, }, }, - }, - &actionExpr{ - pos: position{line: 2091, col: 7, offset: 67265}, - run: (*parser).callonEscapedItalicText24, - expr: &seqExpr{ - pos: position{line: 2091, col: 7, offset: 67265}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2091, col: 7, offset: 67265}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedItalicText27, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2091, col: 42, offset: 67300}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, - &labeledExpr{ - pos: position{line: 2091, col: 46, offset: 67304}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2091, col: 56, offset: 67314}, - name: "SingleQuoteItalicTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2091, col: 87, offset: 67345}, - val: "_", - ignoreCase: false, - want: "\"_\"", - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, @@ -53522,127 +47376,198 @@ var g = &grammar{ }, }, { - name: "DoubleQuoteMonospaceText", - pos: position{line: 2115, col: 1, offset: 68098}, + name: "AttributeStructuredValue", + pos: position{line: 2377, col: 1, offset: 77000}, expr: &actionExpr{ - pos: position{line: 2116, col: 5, offset: 68131}, - run: (*parser).callonDoubleQuoteMonospaceText1, + pos: position{line: 2378, col: 5, offset: 77033}, + run: (*parser).callonAttributeStructuredValue1, expr: &seqExpr{ - pos: position{line: 2116, col: 5, offset: 68131}, + pos: position{line: 2378, col: 5, offset: 77033}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2111, col: 43, offset: 68046}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, &labeledExpr{ - pos: position{line: 2117, col: 5, offset: 68175}, + pos: position{line: 2378, col: 5, offset: 77033}, label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2117, col: 15, offset: 68185}, - name: "DoubleQuoteMonospaceTextElements", + expr: &oneOrMoreExpr{ + pos: position{line: 2378, col: 14, offset: 77042}, + expr: &ruleRefExpr{ + pos: position{line: 2378, col: 15, offset: 77043}, + name: "AttributeStructuredValueElement", + }, }, }, - &litMatcher{ - pos: position{line: 2113, col: 41, offset: 68092}, - val: "``", - ignoreCase: false, - want: "\"``\"", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, }, }, }, }, }, { - name: "DoubleQuoteMonospaceTextElements", - pos: position{line: 2122, col: 1, offset: 68360}, - expr: &oneOrMoreExpr{ - pos: position{line: 2122, col: 37, offset: 68396}, - expr: &ruleRefExpr{ - pos: position{line: 2122, col: 37, offset: 68396}, - name: "DoubleQuoteMonospaceTextElement", - }, - }, - }, - { - name: "DoubleQuoteMonospaceTextElement", - pos: position{line: 2124, col: 1, offset: 68463}, + name: "AttributeStructuredValueElement", + pos: position{line: 2382, col: 1, offset: 77140}, expr: &actionExpr{ - pos: position{line: 2125, col: 5, offset: 68503}, - run: (*parser).callonDoubleQuoteMonospaceTextElement1, + pos: position{line: 2383, col: 5, offset: 77180}, + run: (*parser).callonAttributeStructuredValueElement1, expr: &seqExpr{ - pos: position{line: 2125, col: 5, offset: 68503}, + pos: position{line: 2383, col: 5, offset: 77180}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2125, col: 5, offset: 68503}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - ¬Expr{ - pos: position{line: 2126, col: 5, offset: 68512}, - expr: &litMatcher{ - pos: position{line: 2113, col: 41, offset: 68092}, - val: "``", - ignoreCase: false, - want: "\"``\"", + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, }, }, &labeledExpr{ - pos: position{line: 2127, col: 5, offset: 68554}, + pos: position{line: 2384, col: 5, offset: 77191}, label: "element", expr: &choiceExpr{ - pos: position{line: 2128, col: 9, offset: 68572}, + pos: position{line: 2385, col: 9, offset: 77209}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2102, col: 5, offset: 67722}, - run: (*parser).callonDoubleQuoteMonospaceTextElement10, + pos: position{line: 2755, col: 5, offset: 87520}, + run: (*parser).callonAttributeStructuredValueElement7, expr: &seqExpr{ - pos: position{line: 2102, col: 5, offset: 67722}, + pos: position{line: 2755, col: 5, offset: 87520}, exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2102, col: 6, offset: 67723}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2103, col: 5, offset: 67768}, + &oneOrMoreExpr{ + pos: position{line: 2755, col: 5, offset: 87520}, expr: &charClassMatcher{ - pos: position{line: 2103, col: 6, offset: 67769}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, + pos: position{line: 2755, col: 5, offset: 87520}, + val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, }, - &andExpr{ - pos: position{line: 2104, col: 5, offset: 67788}, - expr: &choiceExpr{ - pos: position{line: 2104, col: 7, offset: 67790}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMonospaceTextElement17, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &choiceExpr{ + pos: position{line: 2771, col: 9, offset: 87859}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonAttributeStructuredValueElement12, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonAttributeStructuredValueElement14, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, }, }, - &litMatcher{ - pos: position{line: 2099, col: 27, offset: 67691}, - val: "`", - ignoreCase: false, - want: "\"`\"", + }, + &andCodeExpr{ + pos: position{line: 2773, col: 11, offset: 87889}, + run: (*parser).callonAttributeStructuredValueElement20, + }, + &andExpr{ + pos: position{line: 2776, col: 11, offset: 87967}, + expr: &seqExpr{ + pos: position{line: 2777, col: 13, offset: 87982}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2777, col: 13, offset: 87982}, + expr: &seqExpr{ + pos: position{line: 2777, col: 15, offset: 87984}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2777, col: 15, offset: 87984}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + ¬Expr{ + pos: position{line: 2777, col: 19, offset: 87988}, + expr: &choiceExpr{ + pos: position{line: 2777, col: 21, offset: 87990}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonAttributeStructuredValueElement28, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonAttributeStructuredValueElement30, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2778, col: 13, offset: 88016}, + expr: &litMatcher{ + pos: position{line: 2778, col: 14, offset: 88017}, + val: "@", + ignoreCase: false, + want: "\"@\"", + }, + }, + }, }, }, }, @@ -53651,355 +47576,524 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonDoubleQuoteMonospaceTextElement20, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonAttributeStructuredValueElement39, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, }, &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonDoubleQuoteMonospaceTextElement23, + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonAttributeStructuredValueElement41, expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, + pos: position{line: 2801, col: 9, offset: 88555}, exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMonospaceTextElement25, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMonospaceTextElement31, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", }, }, }, }, }, }, + &ruleRefExpr{ + pos: position{line: 2388, col: 11, offset: 77261}, + name: "Replacement", + }, &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteMonospaceTextElement36, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteMonospaceTextElement38, + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonAttributeStructuredValueElement48, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonDoubleQuoteMonospaceTextElement41, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonAttributeStructuredValueElement55, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMonospaceTextElement45, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonAttributeStructuredValueElement57, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteMonospaceTextElement52, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteMonospaceTextElement57, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteMonospaceTextElement59, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonDoubleQuoteMonospaceTextElement63, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMonospaceTextElement67, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteMonospaceTextElement74, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteMonospaceTextElement79, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteMonospaceTextElement81, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonAttributeStructuredValueElement65, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonAttributeStructuredValueElement68, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonAttributeStructuredValueElement71, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonAttributeStructuredValueElement74, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2390, col: 11, offset: 77334}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2391, col: 11, offset: 77350}, + name: "InlineMacro", + }, + &actionExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonAttributeStructuredValueElement78, + expr: &seqExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2453, col: 5, offset: 78820}, + run: (*parser).callonAttributeStructuredValueElement80, + }, + &labeledExpr{ + pos: position{line: 2456, col: 5, offset: 78891}, + label: "element", + expr: &actionExpr{ + pos: position{line: 2457, col: 9, offset: 78909}, + run: (*parser).callonAttributeStructuredValueElement82, + expr: &charClassMatcher{ + pos: position{line: 2457, col: 10, offset: 78910}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonAttributeStructuredValueElement84, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonAttributeStructuredValueElement88, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 12, offset: 89767}, + run: (*parser).callonAttributeStructuredValueElement92, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 12, offset: 89767}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineMacro", + pos: position{line: 2401, col: 1, offset: 77602}, + expr: &actionExpr{ + pos: position{line: 2403, col: 5, offset: 77684}, + run: (*parser).callonInlineMacro1, + expr: &seqExpr{ + pos: position{line: 2403, col: 5, offset: 77684}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2403, col: 5, offset: 77684}, + run: (*parser).callonInlineMacro3, + }, + &labeledExpr{ + pos: position{line: 2406, col: 5, offset: 77744}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2407, col: 9, offset: 77762}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2407, col: 9, offset: 77762}, + name: "InlineIcon", + }, + &ruleRefExpr{ + pos: position{line: 2408, col: 11, offset: 77783}, + name: "InlineImage", + }, + &ruleRefExpr{ + pos: position{line: 2409, col: 11, offset: 77806}, + name: "Link", + }, + &ruleRefExpr{ + pos: position{line: 2410, col: 11, offset: 77822}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2411, col: 11, offset: 77851}, + name: "InlineFootnote", + }, + &ruleRefExpr{ + pos: position{line: 2412, col: 11, offset: 77877}, + name: "CrossReference", + }, + &ruleRefExpr{ + pos: position{line: 2413, col: 11, offset: 77903}, + name: "InlineUserMacro", + }, + &actionExpr{ + pos: position{line: 1253, col: 5, offset: 38724}, + run: (*parser).callonInlineMacro13, + expr: &seqExpr{ + pos: position{line: 1253, col: 5, offset: 38724}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1253, col: 5, offset: 38724}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", + }, + &labeledExpr{ + pos: position{line: 1253, col: 14, offset: 38733}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + run: (*parser).callonInlineMacro17, + expr: &oneOrMoreExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + expr: &charClassMatcher{ + pos: position{line: 2887, col: 7, offset: 91192}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1253, col: 22, offset: 38741}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1258, col: 5, offset: 38860}, + run: (*parser).callonInlineMacro21, + expr: &seqExpr{ + pos: position{line: 1258, col: 5, offset: 38860}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1258, col: 5, offset: 38860}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1258, col: 10, offset: 38865}, + label: "id", + expr: &actionExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + run: (*parser).callonInlineMacro25, + expr: &oneOrMoreExpr{ + pos: position{line: 2887, col: 7, offset: 91192}, + expr: &charClassMatcher{ + pos: position{line: 2887, col: 7, offset: 91192}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1258, col: 18, offset: 38873}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1297, col: 23, offset: 40350}, + run: (*parser).callonInlineMacro29, + expr: &seqExpr{ + pos: position{line: 1297, col: 23, offset: 40350}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1297, col: 23, offset: 40350}, + val: "(((", + ignoreCase: false, + want: "\"(((\"", + }, + &labeledExpr{ + pos: position{line: 1297, col: 29, offset: 40356}, + label: "term1", + expr: &actionExpr{ + pos: position{line: 1304, col: 30, offset: 40687}, + run: (*parser).callonInlineMacro33, + expr: &oneOrMoreExpr{ + pos: position{line: 1304, col: 30, offset: 40687}, + expr: &choiceExpr{ + pos: position{line: 1304, col: 31, offset: 40688}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineMacro37, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"}\"", + inverted: false, }, }, }, }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteMonospaceTextElement85, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1298, col: 5, offset: 40395}, + label: "term2", + expr: &zeroOrOneExpr{ + pos: position{line: 1298, col: 11, offset: 40401}, + expr: &actionExpr{ + pos: position{line: 1298, col: 12, offset: 40402}, + run: (*parser).callonInlineMacro41, + expr: &seqExpr{ + pos: position{line: 1298, col: 12, offset: 40402}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1298, col: 12, offset: 40402}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineMacro44, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMonospaceTextElement89, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ + }, + &litMatcher{ + pos: position{line: 1298, col: 19, offset: 40409}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1298, col: 23, offset: 40413}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineMacro48, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1298, col: 30, offset: 40420}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1304, col: 30, offset: 40687}, + run: (*parser).callonInlineMacro51, + expr: &oneOrMoreExpr{ + pos: position{line: 1304, col: 30, offset: 40687}, + expr: &choiceExpr{ + pos: position{line: 1304, col: 31, offset: 40688}, + alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineMacro55, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -54008,51 +48102,82 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteMonospaceTextElement95, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1299, col: 5, offset: 40487}, + label: "term3", + expr: &zeroOrOneExpr{ + pos: position{line: 1299, col: 11, offset: 40493}, + expr: &actionExpr{ + pos: position{line: 1299, col: 12, offset: 40494}, + run: (*parser).callonInlineMacro59, + expr: &seqExpr{ + pos: position{line: 1299, col: 12, offset: 40494}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1299, col: 12, offset: 40494}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineMacro62, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMonospaceTextElement99, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ + }, + &litMatcher{ + pos: position{line: 1299, col: 19, offset: 40501}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1299, col: 23, offset: 40505}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineMacro66, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1299, col: 30, offset: 40512}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1304, col: 30, offset: 40687}, + run: (*parser).callonInlineMacro69, + expr: &oneOrMoreExpr{ + pos: position{line: 1304, col: 30, offset: 40687}, + expr: &choiceExpr{ + pos: position{line: 1304, col: 31, offset: 40688}, + alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlineMacro73, expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, @@ -54061,541 +48186,346 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 1300, col: 5, offset: 40579}, + val: ")))", + ignoreCase: false, + want: "\")))\"", + }, }, }, }, &ruleRefExpr{ - pos: position{line: 2132, col: 11, offset: 68737}, - name: "InlineMacro", + pos: position{line: 2416, col: 11, offset: 77982}, + name: "IndexTerm", + }, + &ruleRefExpr{ + pos: position{line: 2417, col: 11, offset: 78002}, + name: "InlineButton", + }, + &ruleRefExpr{ + pos: position{line: 2418, col: 11, offset: 78025}, + name: "InlineMenu", }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlinePassthrough", + pos: position{line: 2422, col: 1, offset: 78082}, + expr: &actionExpr{ + pos: position{line: 2424, col: 5, offset: 78170}, + run: (*parser).callonInlinePassthrough1, + expr: &seqExpr{ + pos: position{line: 2424, col: 5, offset: 78170}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2424, col: 5, offset: 78170}, + run: (*parser).callonInlinePassthrough3, + }, + &labeledExpr{ + pos: position{line: 2427, col: 5, offset: 78242}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2428, col: 9, offset: 78260}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteMonospaceTextElement106, + pos: position{line: 1380, col: 26, offset: 43971}, + run: (*parser).callonInlinePassthrough6, expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, + pos: position{line: 1380, col: 26, offset: 43971}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteMonospaceTextElement108, + &litMatcher{ + pos: position{line: 1378, col: 32, offset: 43939}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", }, &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", + pos: position{line: 1380, col: 54, offset: 43999}, + label: "content", expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, + pos: position{line: 1384, col: 33, offset: 44212}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonDoubleQuoteMonospaceTextElement111, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteMonospaceTextElement115, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteMonospaceTextElement117, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteMonospaceTextElement119, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteMonospaceTextElement121, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteMonospaceTextElement123, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteMonospaceTextElement125, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteMonospaceTextElement127, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteMonospaceTextElement129, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, + pos: position{line: 1384, col: 34, offset: 44213}, + run: (*parser).callonInlinePassthrough11, + expr: &zeroOrMoreExpr{ + pos: position{line: 1384, col: 34, offset: 44213}, + expr: &seqExpr{ + pos: position{line: 1384, col: 35, offset: 44214}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1384, col: 35, offset: 44214}, + expr: &litMatcher{ + pos: position{line: 1378, col: 32, offset: 43939}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteMonospaceTextElement131, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", + }, + &anyMatcher{ + line: 1384, col: 64, offset: 44243, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1386, col: 11, offset: 44416}, + run: (*parser).callonInlinePassthrough17, + expr: &zeroOrOneExpr{ + pos: position{line: 1386, col: 11, offset: 44416}, + expr: &seqExpr{ + pos: position{line: 1386, col: 12, offset: 44417}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1386, col: 12, offset: 44417}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlinePassthrough21, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, - want: "\"->\"", + inverted: false, }, }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteMonospaceTextElement133, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ + }, + ¬Expr{ + pos: position{line: 1386, col: 19, offset: 44424}, + expr: &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonInlinePassthrough24, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - want: "\"--\"", + want: "\"\\n\"", }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteMonospaceTextElement136, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMonospaceTextElement138, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMonospaceTextElement142, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteMonospaceTextElement149, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteMonospaceTextElement152, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMonospaceTextElement156, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteMonospaceTextElement163, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteMonospaceTextElement165, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteMonospaceTextElement167, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, + }, + ¬Expr{ + pos: position{line: 1386, col: 28, offset: 44433}, + expr: &litMatcher{ + pos: position{line: 1378, col: 32, offset: 43939}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", }, }, + &anyMatcher{ + line: 1386, col: 57, offset: 44462, + }, }, }, }, }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1378, col: 32, offset: 43939}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + ¬Expr{ + pos: position{line: 1380, col: 121, offset: 44066}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1368, col: 26, offset: 43254}, + run: (*parser).callonInlinePassthrough35, + expr: &seqExpr{ + pos: position{line: 1368, col: 26, offset: 43254}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1366, col: 32, offset: 43224}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &labeledExpr{ + pos: position{line: 1368, col: 54, offset: 43282}, + label: "content", + expr: &choiceExpr{ + pos: position{line: 1372, col: 33, offset: 43495}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteMonospaceTextElement169, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteMonospaceTextElement171, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteMonospaceTextElement173, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteMonospaceTextElement175, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteMonospaceTextElement177, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteMonospaceTextElement179, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteMonospaceTextElement181, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteMonospaceTextElement183, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteMonospaceTextElement185, + pos: position{line: 1372, col: 34, offset: 43496}, + run: (*parser).callonInlinePassthrough40, expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, + pos: position{line: 1372, col: 34, offset: 43496}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteMonospaceTextElement188, + ¬Expr{ + pos: position{line: 1372, col: 35, offset: 43497}, + expr: &litMatcher{ + pos: position{line: 1366, col: 32, offset: 43224}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMonospaceTextElement190, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + ¬Expr{ + pos: position{line: 1372, col: 64, offset: 43526}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlinePassthrough45, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMonospaceTextElement194, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, + }, + }, + ¬Expr{ + pos: position{line: 1372, col: 71, offset: 43533}, + expr: &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonInlinePassthrough48, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteMonospaceTextElement201, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteMonospaceTextElement204, + &anyMatcher{ + line: 1372, col: 80, offset: 43542, }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMonospaceTextElement208, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &zeroOrMoreExpr{ + pos: position{line: 1372, col: 83, offset: 43545}, + expr: &seqExpr{ + pos: position{line: 1372, col: 84, offset: 43546}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1372, col: 84, offset: 43546}, + expr: &seqExpr{ + pos: position{line: 1372, col: 86, offset: 43548}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + run: (*parser).callonInlinePassthrough58, + expr: &oneOrMoreExpr{ + pos: position{line: 2906, col: 11, offset: 91601}, + expr: &charClassMatcher{ + pos: position{line: 2906, col: 11, offset: 91601}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", + pos: position{line: 1366, col: 32, offset: 43224}, + val: "+", ignoreCase: false, - want: "\"\\r\"", + want: "\"+\"", }, }, }, }, ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + pos: position{line: 1372, col: 122, offset: 43584}, + expr: &litMatcher{ + pos: position{line: 1366, col: 32, offset: 43224}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + ¬Expr{ + pos: position{line: 1372, col: 151, offset: 43613}, + expr: &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonInlinePassthrough65, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, }, + &anyMatcher{ + line: 1372, col: 160, offset: 43622, + }, }, }, }, @@ -54603,840 +48533,497 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteMonospaceTextElement215, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteMonospaceTextElement217, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteMonospaceTextElement219, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteMonospaceTextElement221, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonDoubleQuoteMonospaceTextElement223, + pos: position{line: 1374, col: 11, offset: 43772}, + run: (*parser).callonInlinePassthrough71, expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, + pos: position{line: 1374, col: 12, offset: 43773}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + ¬Expr{ + pos: position{line: 1374, col: 12, offset: 43773}, + expr: &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonInlinePassthrough74, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteMonospaceTextElement228, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteMonospaceTextElement230, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", + ¬Expr{ + pos: position{line: 1374, col: 19, offset: 43780}, + expr: &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonInlinePassthrough77, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, + ¬Expr{ + pos: position{line: 1374, col: 28, offset: 43789}, + expr: &litMatcher{ + pos: position{line: 1366, col: 32, offset: 43224}, + val: "+", ignoreCase: false, - inverted: false, + want: "\"+\"", }, }, + &anyMatcher{ + line: 1374, col: 57, offset: 43818, + }, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 1366, col: 32, offset: 43224}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + ¬Expr{ + pos: position{line: 1368, col: 121, offset: 43349}, + expr: &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteMonospaceTextElement234, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteMonospaceTextElement236, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, + &ruleRefExpr{ + pos: position{line: 2428, col: 57, offset: 78308}, + name: "PassthroughMacro", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "Quote", + pos: position{line: 2433, col: 1, offset: 78368}, + expr: &seqExpr{ + pos: position{line: 2435, col: 5, offset: 78444}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2435, col: 5, offset: 78444}, + run: (*parser).callonQuote2, + }, + &ruleRefExpr{ + pos: position{line: 2438, col: 5, offset: 78504}, + name: "QuotedText", + }, + }, + }, + }, + { + name: "Replacement", + pos: position{line: 2440, col: 1, offset: 78517}, + expr: &actionExpr{ + pos: position{line: 2442, col: 5, offset: 78599}, + run: (*parser).callonReplacement1, + expr: &seqExpr{ + pos: position{line: 2442, col: 5, offset: 78599}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2442, col: 5, offset: 78599}, + run: (*parser).callonReplacement3, + }, + &labeledExpr{ + pos: position{line: 2445, col: 5, offset: 78665}, + label: "element", + expr: &ruleRefExpr{ + pos: position{line: 2446, col: 9, offset: 78683}, + name: "Symbol", + }, + }, + }, + }, + }, + }, + { + name: "Symbol", + pos: position{line: 2501, col: 1, offset: 80432}, + expr: &choiceExpr{ + pos: position{line: 2503, col: 5, offset: 80462}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2503, col: 5, offset: 80462}, + run: (*parser).callonSymbol2, + expr: &seqExpr{ + pos: position{line: 2503, col: 5, offset: 80462}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2503, col: 5, offset: 80462}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2503, col: 10, offset: 80467}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2503, col: 10, offset: 80467}, + name: "QuotationMark", + }, + &actionExpr{ + pos: position{line: 2532, col: 14, offset: 81571}, + run: (*parser).callonSymbol7, + expr: &litMatcher{ + pos: position{line: 2532, col: 14, offset: 81571}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2536, col: 14, offset: 81637}, + run: (*parser).callonSymbol9, + expr: &litMatcher{ + pos: position{line: 2536, col: 14, offset: 81637}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2540, col: 15, offset: 81706}, + run: (*parser).callonSymbol11, + expr: &litMatcher{ + pos: position{line: 2540, col: 15, offset: 81706}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2544, col: 13, offset: 81771}, + run: (*parser).callonSymbol13, + expr: &litMatcher{ + pos: position{line: 2544, col: 13, offset: 81771}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2572, col: 21, offset: 82341}, + run: (*parser).callonSymbol15, + expr: &litMatcher{ + pos: position{line: 2572, col: 21, offset: 82341}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2551, col: 5, offset: 81927}, + run: (*parser).callonSymbol17, + expr: &seqExpr{ + pos: position{line: 2551, col: 5, offset: 81927}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2551, col: 5, offset: 81927}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andCodeExpr{ + pos: position{line: 2552, col: 5, offset: 81937}, + run: (*parser).callonSymbol20, + }, + &choiceExpr{ + pos: position{line: 2556, col: 6, offset: 82024}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonDoubleQuoteMonospaceTextElement239, + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSymbol22, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2556, col: 14, offset: 82032}, expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, + pos: position{line: 2924, col: 8, offset: 91938}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonDoubleQuoteMonospaceTextElement241, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSymbol26, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteMonospaceTextElement245, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMonospaceTextElement249, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonDoubleQuoteMonospaceTextElement255, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteMonospaceTextElement260, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMonospaceTextElement264, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteMonospaceTextElement270, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMonospaceTextElement274, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonDoubleQuoteMonospaceTextElement280, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, + want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", ignoreCase: false, - want: "\">>\"", + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonDoubleQuoteMonospaceTextElement283, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteMonospaceTextElement287, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonDoubleQuoteMonospaceTextElement291, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, }, - }, - &ruleRefExpr{ - pos: position{line: 2135, col: 11, offset: 68858}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonDoubleQuoteMonospaceTextElement294, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonDoubleQuoteMonospaceTextElement298, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 2561, col: 5, offset: 82152}, + run: (*parser).callonSymbol33, + expr: &seqExpr{ + pos: position{line: 2561, col: 5, offset: 82152}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2561, col: 5, offset: 82152}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andCodeExpr{ + pos: position{line: 2562, col: 5, offset: 82162}, + run: (*parser).callonSymbol36, + }, + &andExpr{ + pos: position{line: 2566, col: 5, offset: 82251}, + expr: &choiceExpr{ + pos: position{line: 2566, col: 7, offset: 82253}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSymbol40, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonDoubleQuoteMonospaceTextElement302, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMonospaceText", - pos: position{line: 2167, col: 1, offset: 69722}, - expr: &actionExpr{ - pos: position{line: 2168, col: 5, offset: 69755}, - run: (*parser).callonSingleQuoteMonospaceText1, - expr: &seqExpr{ - pos: position{line: 2168, col: 5, offset: 69755}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2149, col: 5, offset: 69247}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - &andCodeExpr{ - pos: position{line: 2150, col: 5, offset: 69256}, - run: (*parser).callonSingleQuoteMonospaceText4, - }, - &andExpr{ - pos: position{line: 2154, col: 5, offset: 69379}, - expr: ¬Expr{ - pos: position{line: 2154, col: 7, offset: 69381}, - expr: &litMatcher{ - pos: position{line: 2154, col: 8, offset: 69382}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - }, - &labeledExpr{ - pos: position{line: 2169, col: 5, offset: 69799}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2169, col: 15, offset: 69809}, - name: "SingleQuoteMonospaceTextElements", - }, - }, - ¬Expr{ - pos: position{line: 2157, col: 5, offset: 69490}, - expr: &choiceExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteMonospaceText12, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteMonospaceText14, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", + &actionExpr{ + pos: position{line: 2576, col: 20, offset: 82411}, + run: (*parser).callonSymbol47, + expr: &litMatcher{ + pos: position{line: 2576, col: 20, offset: 82411}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteMonospaceText16, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", + &actionExpr{ + pos: position{line: 2580, col: 21, offset: 82482}, + run: (*parser).callonSymbol49, + expr: &litMatcher{ + pos: position{line: 2580, col: 21, offset: 82482}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteMonospaceText18, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", + &actionExpr{ + pos: position{line: 2584, col: 20, offset: 82552}, + run: (*parser).callonSymbol51, + expr: &litMatcher{ + pos: position{line: 2584, col: 20, offset: 82552}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 2158, col: 5, offset: 69510}, - val: "`", + }, + &ruleRefExpr{ + pos: position{line: 2507, col: 7, offset: 80722}, + name: "QuotationMark", + }, + &actionExpr{ + pos: position{line: 2532, col: 14, offset: 81571}, + run: (*parser).callonSymbol54, + expr: &litMatcher{ + pos: position{line: 2532, col: 14, offset: 81571}, + val: "(C)", ignoreCase: false, - want: "\"`\"", - }, - &andCodeExpr{ - pos: position{line: 2160, col: 5, offset: 69589}, - run: (*parser).callonSingleQuoteMonospaceText21, - }, - &andExpr{ - pos: position{line: 2164, col: 5, offset: 69703}, - expr: ¬Expr{ - pos: position{line: 2164, col: 7, offset: 69705}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + want: "\"(C)\"", }, }, - }, - }, - }, - { - name: "SingleQuoteMonospaceTextElements", - pos: position{line: 2174, col: 1, offset: 69985}, - expr: &actionExpr{ - pos: position{line: 2175, col: 5, offset: 70026}, - run: (*parser).callonSingleQuoteMonospaceTextElements1, - expr: &seqExpr{ - pos: position{line: 2175, col: 5, offset: 70026}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2175, col: 5, offset: 70026}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMonospaceTextElements4, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &actionExpr{ + pos: position{line: 2536, col: 14, offset: 81637}, + run: (*parser).callonSymbol56, + expr: &litMatcher{ + pos: position{line: 2536, col: 14, offset: 81637}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", }, - &labeledExpr{ - pos: position{line: 2176, col: 5, offset: 70065}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2176, col: 14, offset: 70074}, - expr: &ruleRefExpr{ - pos: position{line: 2176, col: 15, offset: 70075}, - name: "SingleQuoteMonospaceTextElement", - }, - }, + }, + &actionExpr{ + pos: position{line: 2540, col: 15, offset: 81706}, + run: (*parser).callonSymbol58, + expr: &litMatcher{ + pos: position{line: 2540, col: 15, offset: 81706}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", }, - &andCodeExpr{ - pos: position{line: 2177, col: 5, offset: 70113}, - run: (*parser).callonSingleQuoteMonospaceTextElements9, + }, + &actionExpr{ + pos: position{line: 2544, col: 13, offset: 81771}, + run: (*parser).callonSymbol60, + expr: &litMatcher{ + pos: position{line: 2544, col: 13, offset: 81771}, + val: "...", + ignoreCase: false, + want: "\"...\"", }, }, - }, - }, - }, - { - name: "SingleQuoteMonospaceTextElement", - pos: position{line: 2183, col: 1, offset: 70254}, - expr: &actionExpr{ - pos: position{line: 2184, col: 5, offset: 70294}, - run: (*parser).callonSingleQuoteMonospaceTextElement1, - expr: &seqExpr{ - pos: position{line: 2184, col: 5, offset: 70294}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2184, col: 5, offset: 70294}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, + &actionExpr{ + pos: position{line: 2551, col: 5, offset: 81927}, + run: (*parser).callonSymbol62, + expr: &seqExpr{ + pos: position{line: 2551, col: 5, offset: 81927}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2551, col: 5, offset: 81927}, + val: "--", + ignoreCase: false, + want: "\"--\"", }, - }, - }, - ¬Expr{ - pos: position{line: 2185, col: 5, offset: 70303}, - expr: &seqExpr{ - pos: position{line: 2157, col: 5, offset: 69490}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2157, col: 5, offset: 69490}, - expr: &choiceExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteMonospaceTextElement10, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteMonospaceTextElement12, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteMonospaceTextElement14, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteMonospaceTextElement16, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2158, col: 5, offset: 69510}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - &andCodeExpr{ - pos: position{line: 2160, col: 5, offset: 69589}, - run: (*parser).callonSingleQuoteMonospaceTextElement19, - }, - &andExpr{ - pos: position{line: 2164, col: 5, offset: 69703}, - expr: ¬Expr{ - pos: position{line: 2164, col: 7, offset: 69705}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &andCodeExpr{ + pos: position{line: 2552, col: 5, offset: 81937}, + run: (*parser).callonSymbol65, }, - }, - }, - &labeledExpr{ - pos: position{line: 2186, col: 5, offset: 70345}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2187, col: 9, offset: 70363}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2102, col: 5, offset: 67722}, - run: (*parser).callonSingleQuoteMonospaceTextElement25, - expr: &seqExpr{ - pos: position{line: 2102, col: 5, offset: 67722}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2102, col: 6, offset: 67723}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2103, col: 5, offset: 67768}, - expr: &charClassMatcher{ - pos: position{line: 2103, col: 6, offset: 67769}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2104, col: 5, offset: 67788}, - expr: &choiceExpr{ - pos: position{line: 2104, col: 7, offset: 67790}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMonospaceTextElement32, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 2099, col: 27, offset: 67691}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonSingleQuoteMonospaceTextElement35, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, + &choiceExpr{ + pos: position{line: 2556, col: 6, offset: 82024}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonSymbol67, expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, ignoreCase: false, inverted: false, }, }, - }, - &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonSingleQuoteMonospaceTextElement38, - expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMonospaceTextElement40, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMonospaceTextElement46, + &andExpr{ + pos: position{line: 2556, col: 14, offset: 82032}, + expr: &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSymbol71, expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, + pos: position{line: 2911, col: 13, offset: 91712}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, + pos: position{line: 2911, col: 20, offset: 91719}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, + pos: position{line: 2911, col: 29, offset: 91728}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55444,940 +49031,466 @@ var g = &grammar{ }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteMonospaceTextElement51, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteMonospaceTextElement53, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonSingleQuoteMonospaceTextElement56, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMonospaceTextElement60, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2561, col: 5, offset: 82152}, + run: (*parser).callonSymbol78, + expr: &seqExpr{ + pos: position{line: 2561, col: 5, offset: 82152}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2561, col: 5, offset: 82152}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andCodeExpr{ + pos: position{line: 2562, col: 5, offset: 82162}, + run: (*parser).callonSymbol81, + }, + &andExpr{ + pos: position{line: 2566, col: 5, offset: 82251}, + expr: &choiceExpr{ + pos: position{line: 2566, col: 7, offset: 82253}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2746, col: 13, offset: 87373}, + val: "[\\pL\\pN]", + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonSymbol85, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2572, col: 21, offset: 82341}, + run: (*parser).callonSymbol92, + expr: &litMatcher{ + pos: position{line: 2572, col: 21, offset: 82341}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2576, col: 20, offset: 82411}, + run: (*parser).callonSymbol94, + expr: &litMatcher{ + pos: position{line: 2576, col: 20, offset: 82411}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2580, col: 21, offset: 82482}, + run: (*parser).callonSymbol96, + expr: &litMatcher{ + pos: position{line: 2580, col: 21, offset: 82482}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2584, col: 20, offset: 82552}, + run: (*parser).callonSymbol98, + expr: &litMatcher{ + pos: position{line: 2584, col: 20, offset: 82552}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + { + name: "QuotationMark", + pos: position{line: 2518, col: 1, offset: 80912}, + expr: &choiceExpr{ + pos: position{line: 2519, col: 5, offset: 80934}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2519, col: 5, offset: 80934}, + run: (*parser).callonQuotationMark2, + expr: &seqExpr{ + pos: position{line: 2519, col: 5, offset: 80934}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2519, col: 5, offset: 80934}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + ¬Expr{ + pos: position{line: 2519, col: 11, offset: 80940}, + expr: &seqExpr{ + pos: position{line: 2080, col: 5, offset: 67148}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2080, col: 5, offset: 67148}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + &andCodeExpr{ + pos: position{line: 2081, col: 5, offset: 67157}, + run: (*parser).callonQuotationMark8, + }, + &andExpr{ + pos: position{line: 2085, col: 5, offset: 67280}, + expr: ¬Expr{ + pos: position{line: 2085, col: 7, offset: 67282}, + expr: &litMatcher{ + pos: position{line: 2085, col: 8, offset: 67283}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2522, col: 7, offset: 81093}, + run: (*parser).callonQuotationMark12, + expr: &seqExpr{ + pos: position{line: 2522, col: 7, offset: 81093}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2522, col: 7, offset: 81093}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + ¬Expr{ + pos: position{line: 2522, col: 13, offset: 81099}, + expr: &ruleRefExpr{ + pos: position{line: 2522, col: 14, offset: 81100}, + name: "SingleQuoteMonospaceTextEndDelimiter", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2525, col: 7, offset: 81250}, + run: (*parser).callonQuotationMark17, + expr: &seqExpr{ + pos: position{line: 2525, col: 7, offset: 81250}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2525, col: 7, offset: 81250}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + ¬Expr{ + pos: position{line: 2525, col: 12, offset: 81255}, + expr: &seqExpr{ + pos: position{line: 2080, col: 5, offset: 67148}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2080, col: 5, offset: 67148}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + &andCodeExpr{ + pos: position{line: 2081, col: 5, offset: 67157}, + run: (*parser).callonQuotationMark23, + }, + &andExpr{ + pos: position{line: 2085, col: 5, offset: 67280}, + expr: ¬Expr{ + pos: position{line: 2085, col: 7, offset: 67282}, + expr: &litMatcher{ + pos: position{line: 2085, col: 8, offset: 67283}, + val: "`", + ignoreCase: false, + want: "\"`\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2528, col: 7, offset: 81408}, + run: (*parser).callonQuotationMark27, + expr: &seqExpr{ + pos: position{line: 2528, col: 7, offset: 81408}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2528, col: 7, offset: 81408}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + ¬Expr{ + pos: position{line: 2528, col: 12, offset: 81413}, + expr: &ruleRefExpr{ + pos: position{line: 2528, col: 13, offset: 81414}, + name: "SingleQuoteMonospaceTextEndDelimiter", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "TableColumnsAttribute", + pos: position{line: 2661, col: 1, offset: 84453}, + expr: &actionExpr{ + pos: position{line: 2661, col: 26, offset: 84478}, + run: (*parser).callonTableColumnsAttribute1, + expr: &seqExpr{ + pos: position{line: 2661, col: 26, offset: 84478}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2661, col: 26, offset: 84478}, + label: "cols", + expr: &zeroOrMoreExpr{ + pos: position{line: 2661, col: 31, offset: 84483}, + expr: &actionExpr{ + pos: position{line: 2666, col: 5, offset: 84546}, + run: (*parser).callonTableColumnsAttribute5, + expr: &seqExpr{ + pos: position{line: 2666, col: 5, offset: 84546}, + exprs: []interface{}{ + &andExpr{ + pos: position{line: 2919, col: 11, offset: 91874}, + expr: &anyMatcher{ + line: 2919, col: 13, offset: 91876, + }, + }, + &labeledExpr{ + pos: position{line: 2669, col: 5, offset: 84672}, + label: "multiplier", + expr: &zeroOrOneExpr{ + pos: position{line: 2669, col: 16, offset: 84683}, + expr: &actionExpr{ + pos: position{line: 2669, col: 17, offset: 84684}, + run: (*parser).callonTableColumnsAttribute11, + expr: &seqExpr{ + pos: position{line: 2669, col: 17, offset: 84684}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2669, col: 17, offset: 84684}, + label: "n", + expr: &actionExpr{ + pos: position{line: 2894, col: 12, offset: 91367}, + run: (*parser).callonTableColumnsAttribute14, + expr: &seqExpr{ + pos: position{line: 2894, col: 13, offset: 91368}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 2894, col: 13, offset: 91368}, + expr: &litMatcher{ + pos: position{line: 2894, col: 13, offset: 91368}, + val: "-", + ignoreCase: false, + want: "\"-\"", }, }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteMonospaceTextElement67, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteMonospaceTextElement72, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteMonospaceTextElement74, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, + &oneOrMoreExpr{ + pos: position{line: 2894, col: 18, offset: 91373}, + expr: &charClassMatcher{ + pos: position{line: 2894, col: 18, offset: 91373}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, + &litMatcher{ + pos: position{line: 2669, col: 27, offset: 84694}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2670, col: 5, offset: 84722}, + label: "halign", + expr: &zeroOrOneExpr{ + pos: position{line: 2670, col: 12, offset: 84729}, + expr: &choiceExpr{ + pos: position{line: 2671, col: 9, offset: 84739}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonSingleQuoteMonospaceTextElement78, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMonospaceTextElement82, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteMonospaceTextElement89, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteMonospaceTextElement94, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteMonospaceTextElement96, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 2671, col: 9, offset: 84739}, + run: (*parser).callonTableColumnsAttribute24, + expr: &litMatcher{ + pos: position{line: 2671, col: 9, offset: 84739}, + val: "<", + ignoreCase: false, + want: "\"<\"", }, }, &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteMonospaceTextElement100, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMonospaceTextElement104, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 2672, col: 11, offset: 84786}, + run: (*parser).callonTableColumnsAttribute26, + expr: &litMatcher{ + pos: position{line: 2672, col: 11, offset: 84786}, + val: ">", + ignoreCase: false, + want: "\">\"", }, }, &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteMonospaceTextElement110, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMonospaceTextElement114, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 2673, col: 11, offset: 84834}, + run: (*parser).callonTableColumnsAttribute28, + expr: &litMatcher{ + pos: position{line: 2673, col: 11, offset: 84834}, + val: "^", + ignoreCase: false, + want: "\"^\"", }, }, }, }, }, }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2191, col: 11, offset: 70495}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteMonospaceTextElement121, - expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteMonospaceTextElement123, + &labeledExpr{ + pos: position{line: 2675, col: 5, offset: 84884}, + label: "valign", + expr: &zeroOrOneExpr{ + pos: position{line: 2675, col: 12, offset: 84891}, + expr: &choiceExpr{ + pos: position{line: 2676, col: 9, offset: 84901}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2676, col: 9, offset: 84901}, + run: (*parser).callonTableColumnsAttribute33, + expr: &litMatcher{ + pos: position{line: 2676, col: 9, offset: 84901}, + val: ".<", + ignoreCase: false, + want: "\".<\"", + }, + }, + &actionExpr{ + pos: position{line: 2677, col: 11, offset: 84948}, + run: (*parser).callonTableColumnsAttribute35, + expr: &litMatcher{ + pos: position{line: 2677, col: 11, offset: 84948}, + val: ".>", + ignoreCase: false, + want: "\".>\"", + }, + }, + &actionExpr{ + pos: position{line: 2678, col: 11, offset: 84998}, + run: (*parser).callonTableColumnsAttribute37, + expr: &litMatcher{ + pos: position{line: 2678, col: 11, offset: 84998}, + val: ".^", + ignoreCase: false, + want: "\".^\"", + }, + }, + }, + }, }, - &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", + }, + &labeledExpr{ + pos: position{line: 2680, col: 5, offset: 85049}, + label: "weight", + expr: &zeroOrOneExpr{ + pos: position{line: 2680, col: 12, offset: 85056}, expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, + pos: position{line: 2680, col: 13, offset: 85057}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonSingleQuoteMonospaceTextElement126, + pos: position{line: 2894, col: 12, offset: 91367}, + run: (*parser).callonTableColumnsAttribute42, expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, + pos: position{line: 2894, col: 13, offset: 91368}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", + &zeroOrOneExpr{ + pos: position{line: 2894, col: 13, offset: 91368}, + expr: &litMatcher{ + pos: position{line: 2894, col: 13, offset: 91368}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteMonospaceTextElement130, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteMonospaceTextElement132, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteMonospaceTextElement134, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteMonospaceTextElement136, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteMonospaceTextElement138, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteMonospaceTextElement140, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteMonospaceTextElement142, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteMonospaceTextElement144, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteMonospaceTextElement146, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteMonospaceTextElement148, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteMonospaceTextElement151, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMonospaceTextElement153, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMonospaceTextElement157, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteMonospaceTextElement164, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteMonospaceTextElement167, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMonospaceTextElement171, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteMonospaceTextElement178, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteMonospaceTextElement180, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteMonospaceTextElement182, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteMonospaceTextElement184, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteMonospaceTextElement186, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteMonospaceTextElement188, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteMonospaceTextElement190, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteMonospaceTextElement192, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteMonospaceTextElement194, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteMonospaceTextElement196, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteMonospaceTextElement198, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteMonospaceTextElement200, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteMonospaceTextElement203, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMonospaceTextElement205, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMonospaceTextElement209, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteMonospaceTextElement216, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteMonospaceTextElement219, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMonospaceTextElement223, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteMonospaceTextElement230, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteMonospaceTextElement232, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteMonospaceTextElement234, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteMonospaceTextElement236, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonSingleQuoteMonospaceTextElement238, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, + &oneOrMoreExpr{ + pos: position{line: 2894, col: 18, offset: 91373}, expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, + pos: position{line: 2894, col: 18, offset: 91373}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, inverted: false, }, @@ -56386,547 +49499,169 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteMonospaceTextElement243, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteMonospaceTextElement245, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + pos: position{line: 2680, col: 24, offset: 85068}, + run: (*parser).callonTableColumnsAttribute48, + expr: &litMatcher{ + pos: position{line: 2680, col: 24, offset: 85068}, + val: "~", + ignoreCase: false, + want: "\"~\"", }, }, }, }, }, }, + &labeledExpr{ + pos: position{line: 2681, col: 5, offset: 85110}, + label: "style", + expr: &zeroOrOneExpr{ + pos: position{line: 2681, col: 11, offset: 85116}, + expr: &actionExpr{ + pos: position{line: 2681, col: 12, offset: 85117}, + run: (*parser).callonTableColumnsAttribute52, + expr: &charClassMatcher{ + pos: position{line: 2681, col: 12, offset: 85117}, + val: "[adehlms]", + chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2683, col: 5, offset: 85247}, + label: "comma", + expr: &zeroOrOneExpr{ + pos: position{line: 2683, col: 11, offset: 85253}, + expr: &litMatcher{ + pos: position{line: 2683, col: 12, offset: 85254}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2684, col: 5, offset: 85264}, + run: (*parser).callonTableColumnsAttribute57, + }, }, }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteMonospaceTextElement249, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteMonospaceTextElement251, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonSingleQuoteMonospaceTextElement254, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonSingleQuoteMonospaceTextElement256, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteMonospaceTextElement260, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMonospaceTextElement264, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonSingleQuoteMonospaceTextElement270, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteMonospaceTextElement275, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMonospaceTextElement279, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteMonospaceTextElement285, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMonospaceTextElement289, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonSingleQuoteMonospaceTextElement295, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonSingleQuoteMonospaceTextElement298, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteMonospaceTextElement302, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonSingleQuoteMonospaceTextElement306, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2194, col: 11, offset: 70616}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonSingleQuoteMonospaceTextElement309, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonSingleQuoteMonospaceTextElement313, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonSingleQuoteMonospaceTextElement317, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, }, }, }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, }, }, }, }, { - name: "EscapedMonospaceText", - pos: position{line: 2202, col: 1, offset: 70749}, - expr: &choiceExpr{ - pos: position{line: 2204, col: 5, offset: 70820}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2204, col: 5, offset: 70820}, - run: (*parser).callonEscapedMonospaceText2, - expr: &seqExpr{ - pos: position{line: 2204, col: 5, offset: 70820}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2204, col: 5, offset: 70820}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, - run: (*parser).callonEscapedMonospaceText5, - expr: &seqExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1854, col: 25, offset: 59815}, - val: "\\\\", - ignoreCase: false, - want: "\"\\\\\\\\\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1854, col: 30, offset: 59820}, - expr: &litMatcher{ - pos: position{line: 1854, col: 30, offset: 59820}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2204, col: 40, offset: 70855}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, - &labeledExpr{ - pos: position{line: 2204, col: 45, offset: 70860}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2204, col: 55, offset: 70870}, - name: "DoubleQuoteMonospaceTextElements", + name: "UserMacroBlock", + pos: position{line: 2711, col: 1, offset: 86273}, + expr: &actionExpr{ + pos: position{line: 2712, col: 5, offset: 86296}, + run: (*parser).callonUserMacroBlock1, + expr: &seqExpr{ + pos: position{line: 2712, col: 5, offset: 86296}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2712, col: 5, offset: 86296}, + label: "name", + expr: &actionExpr{ + pos: position{line: 2735, col: 18, offset: 87037}, + run: (*parser).callonUserMacroBlock4, + expr: &oneOrMoreExpr{ + pos: position{line: 2735, col: 19, offset: 87038}, + expr: &charClassMatcher{ + pos: position{line: 2735, col: 19, offset: 87038}, + val: "[_-\\pL\\pN]", + chars: []rune{'_', '-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, }, }, - &litMatcher{ - pos: position{line: 2204, col: 89, offset: 70904}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 2208, col: 7, offset: 71073}, - run: (*parser).callonEscapedMonospaceText14, - expr: &seqExpr{ - pos: position{line: 2208, col: 7, offset: 71073}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2208, col: 7, offset: 71073}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedMonospaceText17, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2208, col: 42, offset: 71108}, - val: "``", - ignoreCase: false, - want: "\"``\"", - }, - &labeledExpr{ - pos: position{line: 2208, col: 47, offset: 71113}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2208, col: 57, offset: 71123}, - name: "SingleQuoteMonospaceTextElements", + &andCodeExpr{ + pos: position{line: 2713, col: 5, offset: 86322}, + run: (*parser).callonUserMacroBlock7, + }, + &litMatcher{ + pos: position{line: 2717, col: 5, offset: 86450}, + val: "::", + ignoreCase: false, + want: "\"::\"", + }, + &labeledExpr{ + pos: position{line: 2718, col: 5, offset: 86460}, + label: "value", + expr: &actionExpr{ + pos: position{line: 2739, col: 19, offset: 87113}, + run: (*parser).callonUserMacroBlock10, + expr: &zeroOrMoreExpr{ + pos: position{line: 2739, col: 19, offset: 87113}, + expr: &charClassMatcher{ + pos: position{line: 2739, col: 19, offset: 87113}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, - &litMatcher{ - pos: position{line: 2208, col: 91, offset: 71157}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 2213, col: 7, offset: 71363}, - run: (*parser).callonEscapedMonospaceText24, - expr: &seqExpr{ - pos: position{line: 2213, col: 7, offset: 71363}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2213, col: 7, offset: 71363}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedMonospaceText27, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", + &labeledExpr{ + pos: position{line: 2719, col: 5, offset: 86488}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 2719, col: 17, offset: 86500}, + name: "InlineAttributes", + }, + }, + &choiceExpr{ + pos: position{line: 2924, col: 8, offset: 91938}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonUserMacroBlock16, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", ignoreCase: false, - want: "\"\\\\\"", + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &litMatcher{ - pos: position{line: 2213, col: 42, offset: 71398}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, - &labeledExpr{ - pos: position{line: 2213, col: 46, offset: 71402}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2213, col: 56, offset: 71412}, - name: "SingleQuoteMonospaceTextElements", + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, }, }, - &litMatcher{ - pos: position{line: 2213, col: 90, offset: 71446}, - val: "`", - ignoreCase: false, - want: "\"`\"", - }, }, }, }, @@ -56934,44006 +49669,23228 @@ var g = &grammar{ }, }, { - name: "DoubleQuoteMarkedText", - pos: position{line: 2237, col: 1, offset: 72114}, + name: "InlineUserMacro", + pos: position{line: 2723, col: 1, offset: 86648}, expr: &actionExpr{ - pos: position{line: 2238, col: 5, offset: 72144}, - run: (*parser).callonDoubleQuoteMarkedText1, + pos: position{line: 2724, col: 5, offset: 86672}, + run: (*parser).callonInlineUserMacro1, expr: &seqExpr{ - pos: position{line: 2238, col: 5, offset: 72144}, + pos: position{line: 2724, col: 5, offset: 86672}, exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2724, col: 5, offset: 86672}, + label: "name", + expr: &actionExpr{ + pos: position{line: 2735, col: 18, offset: 87037}, + run: (*parser).callonInlineUserMacro4, + expr: &oneOrMoreExpr{ + pos: position{line: 2735, col: 19, offset: 87038}, + expr: &charClassMatcher{ + pos: position{line: 2735, col: 19, offset: 87038}, + val: "[_-\\pL\\pN]", + chars: []rune{'_', '-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2725, col: 5, offset: 86698}, + run: (*parser).callonInlineUserMacro7, + }, &litMatcher{ - pos: position{line: 2233, col: 40, offset: 72065}, - val: "##", + pos: position{line: 2729, col: 5, offset: 86826}, + val: ":", ignoreCase: false, - want: "\"##\"", + want: "\":\"", }, &labeledExpr{ - pos: position{line: 2239, col: 5, offset: 72185}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2239, col: 15, offset: 72195}, - name: "DoubleQuoteMarkedTextElements", + pos: position{line: 2730, col: 5, offset: 86835}, + label: "value", + expr: &actionExpr{ + pos: position{line: 2739, col: 19, offset: 87113}, + run: (*parser).callonInlineUserMacro10, + expr: &zeroOrMoreExpr{ + pos: position{line: 2739, col: 19, offset: 87113}, + expr: &charClassMatcher{ + pos: position{line: 2739, col: 19, offset: 87113}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, - &litMatcher{ - pos: position{line: 2235, col: 38, offset: 72108}, - val: "##", - ignoreCase: false, - want: "\"##\"", + &labeledExpr{ + pos: position{line: 2731, col: 5, offset: 86863}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 2731, col: 17, offset: 86875}, + name: "InlineAttributes", + }, }, }, }, }, }, { - name: "DoubleQuoteMarkedTextElements", - pos: position{line: 2244, col: 1, offset: 72361}, - expr: &zeroOrMoreExpr{ - pos: position{line: 2244, col: 34, offset: 72394}, - expr: &ruleRefExpr{ - pos: position{line: 2244, col: 34, offset: 72394}, - name: "DoubleQuoteMarkedTextElement", - }, - }, - }, - { - name: "DoubleQuoteMarkedTextElement", - pos: position{line: 2246, col: 1, offset: 72425}, + name: "FileLocation", + pos: position{line: 2856, col: 1, offset: 90106}, expr: &actionExpr{ - pos: position{line: 2247, col: 5, offset: 72494}, - run: (*parser).callonDoubleQuoteMarkedTextElement1, - expr: &seqExpr{ - pos: position{line: 2247, col: 5, offset: 72494}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2247, col: 5, offset: 72494}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - ¬Expr{ - pos: position{line: 2248, col: 5, offset: 72503}, - expr: &litMatcher{ - pos: position{line: 2235, col: 38, offset: 72108}, - val: "##", - ignoreCase: false, - want: "\"##\"", - }, - }, - &labeledExpr{ - pos: position{line: 2249, col: 5, offset: 72542}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2250, col: 9, offset: 72560}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2224, col: 5, offset: 71750}, - run: (*parser).callonDoubleQuoteMarkedTextElement10, - expr: &seqExpr{ - pos: position{line: 2224, col: 5, offset: 71750}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2224, col: 6, offset: 71751}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + pos: position{line: 2856, col: 17, offset: 90122}, + run: (*parser).callonFileLocation1, + expr: &labeledExpr{ + pos: position{line: 2856, col: 17, offset: 90122}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 2856, col: 22, offset: 90127}, + expr: &choiceExpr{ + pos: position{line: 2856, col: 23, offset: 90128}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + run: (*parser).callonFileLocation5, + expr: &seqExpr{ + pos: position{line: 2873, col: 5, offset: 90621}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2873, col: 5, offset: 90621}, + expr: &litMatcher{ + pos: position{line: 2873, col: 6, offset: 90622}, + val: "[", ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2225, col: 5, offset: 71796}, - expr: &charClassMatcher{ - pos: position{line: 2225, col: 6, offset: 71797}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2226, col: 5, offset: 71816}, - expr: &choiceExpr{ - pos: position{line: 2226, col: 7, offset: 71818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMarkedTextElement17, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 2221, col: 24, offset: 71722}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonDoubleQuoteMarkedTextElement20, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonDoubleQuoteMarkedTextElement23, - expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMarkedTextElement25, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMarkedTextElement31, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, + want: "\"[\"", }, }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteMarkedTextElement36, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonDoubleQuoteMarkedTextElement38, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonDoubleQuoteMarkedTextElement41, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMarkedTextElement45, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteMarkedTextElement52, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteMarkedTextElement57, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteMarkedTextElement59, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonDoubleQuoteMarkedTextElement63, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMarkedTextElement67, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonDoubleQuoteMarkedTextElement74, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonDoubleQuoteMarkedTextElement79, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonDoubleQuoteMarkedTextElement81, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteMarkedTextElement85, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMarkedTextElement89, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteMarkedTextElement95, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMarkedTextElement99, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2254, col: 11, offset: 72722}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteMarkedTextElement106, - expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonDoubleQuoteMarkedTextElement108, - }, - &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonDoubleQuoteMarkedTextElement111, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteMarkedTextElement115, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteMarkedTextElement117, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteMarkedTextElement119, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteMarkedTextElement121, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteMarkedTextElement123, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteMarkedTextElement125, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteMarkedTextElement127, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteMarkedTextElement129, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteMarkedTextElement131, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteMarkedTextElement133, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteMarkedTextElement136, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMarkedTextElement138, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMarkedTextElement142, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteMarkedTextElement149, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteMarkedTextElement152, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMarkedTextElement156, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteMarkedTextElement163, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteMarkedTextElement165, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteMarkedTextElement167, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonDoubleQuoteMarkedTextElement169, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonDoubleQuoteMarkedTextElement171, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonDoubleQuoteMarkedTextElement173, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonDoubleQuoteMarkedTextElement175, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonDoubleQuoteMarkedTextElement177, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonDoubleQuoteMarkedTextElement179, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonDoubleQuoteMarkedTextElement181, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonDoubleQuoteMarkedTextElement183, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonDoubleQuoteMarkedTextElement185, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonDoubleQuoteMarkedTextElement188, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMarkedTextElement190, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMarkedTextElement194, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonDoubleQuoteMarkedTextElement201, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonDoubleQuoteMarkedTextElement204, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonDoubleQuoteMarkedTextElement208, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonDoubleQuoteMarkedTextElement215, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonDoubleQuoteMarkedTextElement217, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonDoubleQuoteMarkedTextElement219, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonDoubleQuoteMarkedTextElement221, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonDoubleQuoteMarkedTextElement223, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteMarkedTextElement228, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonDoubleQuoteMarkedTextElement230, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteMarkedTextElement234, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonDoubleQuoteMarkedTextElement236, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonDoubleQuoteMarkedTextElement239, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonDoubleQuoteMarkedTextElement241, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteMarkedTextElement245, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonDoubleQuoteMarkedTextElement249, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonDoubleQuoteMarkedTextElement255, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonDoubleQuoteMarkedTextElement260, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMarkedTextElement264, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonDoubleQuoteMarkedTextElement270, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonDoubleQuoteMarkedTextElement274, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonDoubleQuoteMarkedTextElement280, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonDoubleQuoteMarkedTextElement283, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonDoubleQuoteMarkedTextElement287, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonDoubleQuoteMarkedTextElement291, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2257, col: 11, offset: 72843}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonDoubleQuoteMarkedTextElement294, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonDoubleQuoteMarkedTextElement298, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonDoubleQuoteMarkedTextElement302, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMarkedText", - pos: position{line: 2285, col: 1, offset: 73569}, - expr: &actionExpr{ - pos: position{line: 2286, col: 5, offset: 73599}, - run: (*parser).callonSingleQuoteMarkedText1, - expr: &seqExpr{ - pos: position{line: 2286, col: 5, offset: 73599}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2269, col: 5, offset: 73136}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - &andCodeExpr{ - pos: position{line: 2270, col: 5, offset: 73145}, - run: (*parser).callonSingleQuoteMarkedText4, - }, - &andExpr{ - pos: position{line: 2274, col: 5, offset: 73265}, - expr: ¬Expr{ - pos: position{line: 2274, col: 7, offset: 73267}, - expr: &litMatcher{ - pos: position{line: 2274, col: 8, offset: 73268}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - }, - &labeledExpr{ - pos: position{line: 2287, col: 5, offset: 73639}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2287, col: 15, offset: 73649}, - name: "SingleQuoteMarkedTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2277, col: 5, offset: 73373}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - ¬Expr{ - pos: position{line: 2278, col: 5, offset: 73381}, - expr: &litMatcher{ - pos: position{line: 2278, col: 6, offset: 73382}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - &andCodeExpr{ - pos: position{line: 2279, col: 5, offset: 73444}, - run: (*parser).callonSingleQuoteMarkedText13, - }, - &andExpr{ - pos: position{line: 2283, col: 5, offset: 73555}, - expr: ¬Expr{ - pos: position{line: 2283, col: 7, offset: 73557}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMarkedTextElements", - pos: position{line: 2292, col: 1, offset: 73816}, - expr: &actionExpr{ - pos: position{line: 2293, col: 5, offset: 73854}, - run: (*parser).callonSingleQuoteMarkedTextElements1, - expr: &seqExpr{ - pos: position{line: 2293, col: 5, offset: 73854}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2293, col: 5, offset: 73854}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMarkedTextElements4, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2294, col: 5, offset: 73893}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2294, col: 14, offset: 73902}, - expr: &ruleRefExpr{ - pos: position{line: 2294, col: 15, offset: 73903}, - name: "SingleQuoteMarkedTextElement", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2295, col: 5, offset: 73939}, - run: (*parser).callonSingleQuoteMarkedTextElements9, - }, - }, - }, - }, - }, - { - name: "SingleQuoteMarkedTextElement", - pos: position{line: 2301, col: 1, offset: 74080}, - expr: &actionExpr{ - pos: position{line: 2302, col: 5, offset: 74117}, - run: (*parser).callonSingleQuoteMarkedTextElement1, - expr: &seqExpr{ - pos: position{line: 2302, col: 5, offset: 74117}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2302, col: 5, offset: 74117}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - ¬Expr{ - pos: position{line: 2303, col: 5, offset: 74126}, - expr: &seqExpr{ - pos: position{line: 2277, col: 5, offset: 73373}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2277, col: 5, offset: 73373}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - ¬Expr{ - pos: position{line: 2278, col: 5, offset: 73381}, - expr: &litMatcher{ - pos: position{line: 2278, col: 6, offset: 73382}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - &andCodeExpr{ - pos: position{line: 2279, col: 5, offset: 73444}, - run: (*parser).callonSingleQuoteMarkedTextElement11, - }, - &andExpr{ - pos: position{line: 2283, col: 5, offset: 73555}, - expr: ¬Expr{ - pos: position{line: 2283, col: 7, offset: 73557}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2304, col: 5, offset: 74165}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2305, col: 9, offset: 74183}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2224, col: 5, offset: 71750}, - run: (*parser).callonSingleQuoteMarkedTextElement17, - expr: &seqExpr{ - pos: position{line: 2224, col: 5, offset: 71750}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2224, col: 6, offset: 71751}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2225, col: 5, offset: 71796}, - expr: &charClassMatcher{ - pos: position{line: 2225, col: 6, offset: 71797}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2226, col: 5, offset: 71816}, - expr: &choiceExpr{ - pos: position{line: 2226, col: 7, offset: 71818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMarkedTextElement24, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 2221, col: 24, offset: 71722}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonSingleQuoteMarkedTextElement27, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - run: (*parser).callonSingleQuoteMarkedTextElement30, - expr: &seqExpr{ - pos: position{line: 2923, col: 18, offset: 92431}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMarkedTextElement32, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2923, col: 26, offset: 92439}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMarkedTextElement38, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteMarkedTextElement43, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSingleQuoteMarkedTextElement45, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonSingleQuoteMarkedTextElement48, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMarkedTextElement52, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteMarkedTextElement59, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteMarkedTextElement64, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteMarkedTextElement66, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonSingleQuoteMarkedTextElement70, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMarkedTextElement74, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSingleQuoteMarkedTextElement81, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSingleQuoteMarkedTextElement86, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSingleQuoteMarkedTextElement88, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteMarkedTextElement92, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMarkedTextElement96, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteMarkedTextElement102, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMarkedTextElement106, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2309, col: 11, offset: 74312}, - name: "InlineMacro", - }, - &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteMarkedTextElement113, - expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSingleQuoteMarkedTextElement115, - }, - &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonSingleQuoteMarkedTextElement118, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteMarkedTextElement122, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteMarkedTextElement124, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteMarkedTextElement126, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteMarkedTextElement128, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteMarkedTextElement130, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteMarkedTextElement132, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteMarkedTextElement134, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteMarkedTextElement136, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteMarkedTextElement138, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteMarkedTextElement140, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteMarkedTextElement143, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMarkedTextElement145, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMarkedTextElement149, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteMarkedTextElement156, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteMarkedTextElement159, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMarkedTextElement163, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteMarkedTextElement170, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteMarkedTextElement172, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteMarkedTextElement174, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSingleQuoteMarkedTextElement176, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSingleQuoteMarkedTextElement178, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSingleQuoteMarkedTextElement180, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSingleQuoteMarkedTextElement182, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSingleQuoteMarkedTextElement184, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSingleQuoteMarkedTextElement186, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSingleQuoteMarkedTextElement188, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSingleQuoteMarkedTextElement190, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSingleQuoteMarkedTextElement192, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSingleQuoteMarkedTextElement195, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMarkedTextElement197, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMarkedTextElement201, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSingleQuoteMarkedTextElement208, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSingleQuoteMarkedTextElement211, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSingleQuoteMarkedTextElement215, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSingleQuoteMarkedTextElement222, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSingleQuoteMarkedTextElement224, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSingleQuoteMarkedTextElement226, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSingleQuoteMarkedTextElement228, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonSingleQuoteMarkedTextElement230, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteMarkedTextElement235, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSingleQuoteMarkedTextElement237, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteMarkedTextElement241, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSingleQuoteMarkedTextElement243, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonSingleQuoteMarkedTextElement246, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonSingleQuoteMarkedTextElement248, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteMarkedTextElement252, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSingleQuoteMarkedTextElement256, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonSingleQuoteMarkedTextElement262, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSingleQuoteMarkedTextElement267, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMarkedTextElement271, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSingleQuoteMarkedTextElement277, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSingleQuoteMarkedTextElement281, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonSingleQuoteMarkedTextElement287, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonSingleQuoteMarkedTextElement290, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSingleQuoteMarkedTextElement294, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonSingleQuoteMarkedTextElement298, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2312, col: 11, offset: 74433}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonSingleQuoteMarkedTextElement301, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonSingleQuoteMarkedTextElement305, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonSingleQuoteMarkedTextElement309, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "EscapedMarkedText", - pos: position{line: 2320, col: 1, offset: 74566}, - expr: &choiceExpr{ - pos: position{line: 2322, col: 5, offset: 74630}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2322, col: 5, offset: 74630}, - run: (*parser).callonEscapedMarkedText2, - expr: &seqExpr{ - pos: position{line: 2322, col: 5, offset: 74630}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2322, col: 5, offset: 74630}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, - run: (*parser).callonEscapedMarkedText5, - expr: &seqExpr{ - pos: position{line: 1854, col: 25, offset: 59815}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1854, col: 25, offset: 59815}, - val: "\\\\", - ignoreCase: false, - want: "\"\\\\\\\\\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1854, col: 30, offset: 59820}, - expr: &litMatcher{ - pos: position{line: 1854, col: 30, offset: 59820}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2322, col: 40, offset: 74665}, - val: "##", - ignoreCase: false, - want: "\"##\"", - }, - &labeledExpr{ - pos: position{line: 2322, col: 45, offset: 74670}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2322, col: 55, offset: 74680}, - name: "DoubleQuoteMarkedTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2322, col: 86, offset: 74711}, - val: "##", - ignoreCase: false, - want: "\"##\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2326, col: 7, offset: 74876}, - run: (*parser).callonEscapedMarkedText14, - expr: &seqExpr{ - pos: position{line: 2326, col: 7, offset: 74876}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2326, col: 7, offset: 74876}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedMarkedText17, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2326, col: 42, offset: 74911}, - val: "##", - ignoreCase: false, - want: "\"##\"", - }, - &labeledExpr{ - pos: position{line: 2326, col: 47, offset: 74916}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2326, col: 57, offset: 74926}, - name: "SingleQuoteMarkedTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2326, col: 88, offset: 74957}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2331, col: 7, offset: 75160}, - run: (*parser).callonEscapedMarkedText24, - expr: &seqExpr{ - pos: position{line: 2331, col: 7, offset: 75160}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2331, col: 7, offset: 75160}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedMarkedText27, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2331, col: 42, offset: 75195}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - &labeledExpr{ - pos: position{line: 2331, col: 46, offset: 75199}, - label: "elements", - expr: &ruleRefExpr{ - pos: position{line: 2331, col: 56, offset: 75209}, - name: "SingleQuoteMarkedTextElements", - }, - }, - &litMatcher{ - pos: position{line: 2331, col: 87, offset: 75240}, - val: "#", - ignoreCase: false, - want: "\"#\"", - }, - }, - }, - }, - }, - }, - }, - { - name: "SubscriptText", - pos: position{line: 2338, col: 1, offset: 75507}, - expr: &actionExpr{ - pos: position{line: 2339, col: 5, offset: 75529}, - run: (*parser).callonSubscriptText1, - expr: &seqExpr{ - pos: position{line: 2339, col: 5, offset: 75529}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2345, col: 27, offset: 75744}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - &labeledExpr{ - pos: position{line: 2340, col: 5, offset: 75556}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2340, col: 14, offset: 75565}, - name: "SubscriptTextElement", - }, - }, - &litMatcher{ - pos: position{line: 2345, col: 27, offset: 75744}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - }, - }, - }, - }, - { - name: "SubscriptTextElement", - pos: position{line: 2347, col: 1, offset: 75749}, - expr: &choiceExpr{ - pos: position{line: 2347, col: 25, offset: 75773}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2347, col: 25, offset: 75773}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 2349, col: 21, offset: 75825}, - run: (*parser).callonSubscriptTextElement3, - expr: &oneOrMoreExpr{ - pos: position{line: 2349, col: 21, offset: 75825}, - expr: &charClassMatcher{ - pos: position{line: 2349, col: 21, offset: 75825}, - val: "[^\\r\\n ~]", - chars: []rune{'\r', '\n', ' ', '~'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - { - name: "EscapedSubscriptText", - pos: position{line: 2353, col: 1, offset: 75910}, - expr: &actionExpr{ - pos: position{line: 2355, col: 5, offset: 75977}, - run: (*parser).callonEscapedSubscriptText1, - expr: &seqExpr{ - pos: position{line: 2355, col: 5, offset: 75977}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2355, col: 5, offset: 75977}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedSubscriptText4, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2345, col: 27, offset: 75744}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - &labeledExpr{ - pos: position{line: 2357, col: 5, offset: 76045}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2357, col: 14, offset: 76054}, - name: "SubscriptTextElement", - }, - }, - &litMatcher{ - pos: position{line: 2345, col: 27, offset: 75744}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - }, - }, - }, - }, - { - name: "SuperscriptText", - pos: position{line: 2365, col: 1, offset: 76317}, - expr: &actionExpr{ - pos: position{line: 2366, col: 5, offset: 76341}, - run: (*parser).callonSuperscriptText1, - expr: &seqExpr{ - pos: position{line: 2366, col: 5, offset: 76341}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2372, col: 29, offset: 76568}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - &labeledExpr{ - pos: position{line: 2367, col: 5, offset: 76371}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2367, col: 14, offset: 76380}, - name: "SuperscriptTextElement", - }, - }, - &litMatcher{ - pos: position{line: 2372, col: 29, offset: 76568}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - }, - }, - }, - }, - { - name: "SuperscriptTextElement", - pos: position{line: 2374, col: 1, offset: 76573}, - expr: &choiceExpr{ - pos: position{line: 2374, col: 27, offset: 76599}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2374, col: 27, offset: 76599}, - name: "QuotedText", - }, - &actionExpr{ - pos: position{line: 2376, col: 23, offset: 76655}, - run: (*parser).callonSuperscriptTextElement3, - expr: &oneOrMoreExpr{ - pos: position{line: 2376, col: 23, offset: 76655}, - expr: &charClassMatcher{ - pos: position{line: 2376, col: 23, offset: 76655}, - val: "[^\\r\\n ^]", - chars: []rune{'\r', '\n', ' ', '^'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - { - name: "EscapedSuperscriptText", - pos: position{line: 2380, col: 1, offset: 76740}, - expr: &actionExpr{ - pos: position{line: 2382, col: 5, offset: 76812}, - run: (*parser).callonEscapedSuperscriptText1, - expr: &seqExpr{ - pos: position{line: 2382, col: 5, offset: 76812}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2382, col: 5, offset: 76812}, - label: "backslashes", - expr: &actionExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - run: (*parser).callonEscapedSuperscriptText4, - expr: &oneOrMoreExpr{ - pos: position{line: 1850, col: 25, offset: 59742}, - expr: &litMatcher{ - pos: position{line: 1850, col: 25, offset: 59742}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2372, col: 29, offset: 76568}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - &labeledExpr{ - pos: position{line: 2384, col: 5, offset: 76882}, - label: "element", - expr: &ruleRefExpr{ - pos: position{line: 2384, col: 14, offset: 76891}, - name: "SuperscriptTextElement", - }, - }, - &litMatcher{ - pos: position{line: 2372, col: 29, offset: 76568}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - }, - }, - }, - }, - { - name: "Section", - pos: position{line: 2393, col: 1, offset: 77360}, - expr: &actionExpr{ - pos: position{line: 2394, col: 5, offset: 77376}, - run: (*parser).callonSection1, - expr: &seqExpr{ - pos: position{line: 2394, col: 5, offset: 77376}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2394, col: 5, offset: 77376}, - run: (*parser).callonSection3, - }, - &labeledExpr{ - pos: position{line: 2397, col: 5, offset: 77439}, - label: "level", - expr: &actionExpr{ - pos: position{line: 2397, col: 12, offset: 77446}, - run: (*parser).callonSection5, - expr: &oneOrMoreExpr{ - pos: position{line: 2397, col: 12, offset: 77446}, - expr: &litMatcher{ - pos: position{line: 2397, col: 13, offset: 77447}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2401, col: 5, offset: 77555}, - run: (*parser).callonSection8, - }, - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonSection9, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2405, col: 12, offset: 77714}, - label: "title", - expr: &ruleRefExpr{ - pos: position{line: 2405, col: 19, offset: 77721}, - name: "SectionTitle", - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSection15, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "SectionTitle", - pos: position{line: 2409, col: 1, offset: 77817}, - expr: &actionExpr{ - pos: position{line: 2410, col: 5, offset: 77838}, - run: (*parser).callonSectionTitle1, - expr: &seqExpr{ - pos: position{line: 2410, col: 5, offset: 77838}, - exprs: []interface{}{ - &stateCodeExpr{ - pos: position{line: 2410, col: 5, offset: 77838}, - run: (*parser).callonSectionTitle3, - }, - &labeledExpr{ - pos: position{line: 2415, col: 5, offset: 77953}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2415, col: 14, offset: 77962}, - expr: &ruleRefExpr{ - pos: position{line: 2415, col: 15, offset: 77963}, - name: "SectionTitleElement", - }, - }, - }, - }, - }, - }, - }, - { - name: "SectionTitleElement", - pos: position{line: 2419, col: 1, offset: 78044}, - expr: &actionExpr{ - pos: position{line: 2420, col: 5, offset: 78071}, - run: (*parser).callonSectionTitleElement1, - expr: &seqExpr{ - pos: position{line: 2420, col: 5, offset: 78071}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2420, col: 5, offset: 78071}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSectionTitleElement5, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2421, col: 5, offset: 78080}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2422, col: 9, offset: 78098}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - run: (*parser).callonSectionTitleElement14, - expr: &seqExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2840, col: 6, offset: 90160}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2841, col: 5, offset: 90205}, - expr: &charClassMatcher{ - pos: position{line: 2841, col: 6, offset: 90206}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2842, col: 5, offset: 90269}, - expr: &choiceExpr{ - pos: position{line: 2842, col: 7, offset: 90271}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSectionTitleElement21, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSectionTitleElement24, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2423, col: 12, offset: 78120}, - run: (*parser).callonSectionTitleElement31, - expr: &seqExpr{ - pos: position{line: 2423, col: 12, offset: 78120}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2423, col: 12, offset: 78120}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSectionTitleElement34, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2423, col: 19, offset: 78127}, - label: "id", - expr: &actionExpr{ - pos: position{line: 404, col: 5, offset: 12334}, - run: (*parser).callonSectionTitleElement37, - expr: &seqExpr{ - pos: position{line: 404, col: 5, offset: 12334}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 404, col: 5, offset: 12334}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 405, col: 5, offset: 12344}, - label: "id", - expr: &actionExpr{ - pos: position{line: 406, col: 9, offset: 12357}, - run: (*parser).callonSectionTitleElement41, - expr: &labeledExpr{ - pos: position{line: 406, col: 9, offset: 12357}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 406, col: 18, offset: 12366}, - expr: &choiceExpr{ - pos: position{line: 407, col: 13, offset: 12380}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 407, col: 14, offset: 12381}, - run: (*parser).callonSectionTitleElement45, - expr: &oneOrMoreExpr{ - pos: position{line: 407, col: 14, offset: 12381}, - expr: &charClassMatcher{ - pos: position{line: 407, col: 14, offset: 12381}, - val: "[^=\\r\\n�{]]", - chars: []rune{'=', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonSectionTitleElement48, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonSectionTitleElement52, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSectionTitleElement56, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSectionTitleElement58, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonSectionTitleElement61, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement65, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSectionTitleElement72, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSectionTitleElement77, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSectionTitleElement79, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonSectionTitleElement83, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement87, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSectionTitleElement94, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSectionTitleElement99, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSectionTitleElement101, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSectionTitleElement105, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement109, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSectionTitleElement115, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement119, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 412, col: 16, offset: 12614}, - run: (*parser).callonSectionTitleElement125, - expr: &litMatcher{ - pos: position{line: 412, col: 16, offset: 12614}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 418, col: 5, offset: 12800}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 2423, col: 40, offset: 78148}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSectionTitleElement129, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 2423, col: 47, offset: 78155}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSectionTitleElement133, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSectionTitleElement140, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &ruleRefExpr{ - pos: position{line: 2425, col: 11, offset: 78228}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2426, col: 11, offset: 78256}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 2427, col: 11, offset: 78272}, - name: "Link", - }, - &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSectionTitleElement145, - expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonSectionTitleElement147, - }, - &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonSectionTitleElement150, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSectionTitleElement154, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSectionTitleElement156, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSectionTitleElement158, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSectionTitleElement160, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSectionTitleElement162, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSectionTitleElement164, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSectionTitleElement166, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSectionTitleElement168, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSectionTitleElement170, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSectionTitleElement172, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSectionTitleElement175, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSectionTitleElement177, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSectionTitleElement181, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSectionTitleElement188, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSectionTitleElement191, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSectionTitleElement195, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSectionTitleElement202, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSectionTitleElement204, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSectionTitleElement206, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonSectionTitleElement208, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonSectionTitleElement210, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonSectionTitleElement212, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonSectionTitleElement214, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonSectionTitleElement216, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonSectionTitleElement218, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonSectionTitleElement220, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonSectionTitleElement222, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonSectionTitleElement224, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonSectionTitleElement227, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSectionTitleElement229, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSectionTitleElement233, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonSectionTitleElement240, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonSectionTitleElement243, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonSectionTitleElement247, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonSectionTitleElement254, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonSectionTitleElement256, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonSectionTitleElement258, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonSectionTitleElement260, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonSectionTitleElement262, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSectionTitleElement267, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonSectionTitleElement269, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSectionTitleElement273, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonSectionTitleElement275, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonSectionTitleElement278, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonSectionTitleElement280, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSectionTitleElement284, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonSectionTitleElement288, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonSectionTitleElement294, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSectionTitleElement299, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement303, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSectionTitleElement309, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement313, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonSectionTitleElement319, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonSectionTitleElement322, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSectionTitleElement326, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonSectionTitleElement330, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2430, col: 11, offset: 78379}, - name: "InlineIcon", - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSectionTitleElement333, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonSectionTitleElement335, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonSectionTitleElement338, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement342, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSectionTitleElement349, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSectionTitleElement354, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSectionTitleElement356, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonSectionTitleElement360, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement364, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonSectionTitleElement371, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonSectionTitleElement376, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonSectionTitleElement378, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonSectionTitleElement382, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement386, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonSectionTitleElement392, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonSectionTitleElement396, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonSectionTitleElement402, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonSectionTitleElement406, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1281, col: 5, offset: 39502}, - run: (*parser).callonSectionTitleElement410, - expr: &seqExpr{ - pos: position{line: 1281, col: 5, offset: 39502}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1281, col: 5, offset: 39502}, - val: "\\[[", - ignoreCase: false, - want: "\"\\\\[[\"", - }, - &labeledExpr{ - pos: position{line: 1281, col: 14, offset: 39511}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSectionTitleElement414, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1281, col: 22, offset: 39519}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1287, col: 5, offset: 39705}, - run: (*parser).callonSectionTitleElement418, - expr: &seqExpr{ - pos: position{line: 1287, col: 5, offset: 39705}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1287, col: 5, offset: 39705}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 1287, col: 10, offset: 39710}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonSectionTitleElement422, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1287, col: 18, offset: 39718}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2434, col: 11, offset: 78602}, - name: "InlineFootnote", - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonSectionTitleElement427, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "NormalGroup", - pos: position{line: 2446, col: 1, offset: 78937}, - expr: &actionExpr{ - pos: position{line: 2447, col: 5, offset: 79024}, - run: (*parser).callonNormalGroup1, - expr: &seqExpr{ - pos: position{line: 2447, col: 5, offset: 79024}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2447, col: 5, offset: 79024}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2447, col: 14, offset: 79033}, - expr: &actionExpr{ - pos: position{line: 2448, col: 9, offset: 79043}, - run: (*parser).callonNormalGroup5, - expr: &seqExpr{ - pos: position{line: 2448, col: 9, offset: 79043}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2448, col: 9, offset: 79043}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2449, col: 9, offset: 79056}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2450, col: 13, offset: 79078}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - run: (*parser).callonNormalGroup12, - expr: &seqExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2840, col: 6, offset: 90160}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2841, col: 5, offset: 90205}, - expr: &charClassMatcher{ - pos: position{line: 2841, col: 6, offset: 90206}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2842, col: 5, offset: 90269}, - expr: &choiceExpr{ - pos: position{line: 2842, col: 7, offset: 90271}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNormalGroup19, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonNormalGroup22, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNormalGroup29, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonNormalGroup31, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2453, col: 15, offset: 79145}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2454, col: 15, offset: 79234}, - name: "Quote", - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonNormalGroup38, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonNormalGroup42, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonNormalGroup46, - expr: &seqExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2534, col: 5, offset: 81501}, - run: (*parser).callonNormalGroup48, - }, - &labeledExpr{ - pos: position{line: 2537, col: 5, offset: 81572}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonNormalGroup51, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonNormalGroup55, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonNormalGroup57, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonNormalGroup59, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonNormalGroup61, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonNormalGroup63, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonNormalGroup65, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonNormalGroup67, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonNormalGroup69, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonNormalGroup71, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonNormalGroup73, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonNormalGroup76, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNormalGroup78, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonNormalGroup82, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonNormalGroup89, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonNormalGroup92, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonNormalGroup96, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonNormalGroup103, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonNormalGroup105, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonNormalGroup107, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonNormalGroup109, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonNormalGroup111, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonNormalGroup113, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonNormalGroup115, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonNormalGroup117, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonNormalGroup119, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonNormalGroup121, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonNormalGroup123, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonNormalGroup125, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonNormalGroup128, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNormalGroup130, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonNormalGroup134, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonNormalGroup141, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonNormalGroup144, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonNormalGroup148, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonNormalGroup155, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonNormalGroup157, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonNormalGroup159, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonNormalGroup161, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonNormalGroup163, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonNormalGroup168, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonNormalGroup170, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1205, col: 5, offset: 37388}, - run: (*parser).callonNormalGroup174, - expr: &seqExpr{ - pos: position{line: 1205, col: 5, offset: 37388}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1205, col: 5, offset: 37388}, - run: (*parser).callonNormalGroup176, - }, - &litMatcher{ - pos: position{line: 1208, col: 5, offset: 37464}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &andCodeExpr{ - pos: position{line: 1209, col: 5, offset: 37472}, - run: (*parser).callonNormalGroup178, - }, - &zeroOrMoreExpr{ - pos: position{line: 1213, col: 5, offset: 37559}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNormalGroup180, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1213, col: 12, offset: 37566}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonNormalGroup184, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2458, col: 15, offset: 79491}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2459, col: 15, offset: 79523}, - name: "Callout", - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonNormalGroup193, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonNormalGroup195, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonNormalGroup198, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonNormalGroup200, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonNormalGroup204, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonNormalGroup208, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonNormalGroup214, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonNormalGroup219, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonNormalGroup223, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonNormalGroup229, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonNormalGroup233, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonNormalGroup239, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonNormalGroup242, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonNormalGroup246, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonNormalGroup250, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonNormalGroup252, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonNormalGroup254, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonNormalGroup257, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonNormalGroup261, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonNormalGroup268, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonNormalGroup273, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonNormalGroup275, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonNormalGroup279, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonNormalGroup283, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonNormalGroup290, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonNormalGroup295, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonNormalGroup297, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonNormalGroup301, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonNormalGroup305, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonNormalGroup311, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonNormalGroup315, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonNormalGroup321, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - { - name: "AttributeStructuredValue", - pos: position{line: 2471, col: 1, offset: 79980}, - expr: &actionExpr{ - pos: position{line: 2472, col: 5, offset: 80013}, - run: (*parser).callonAttributeStructuredValue1, - expr: &seqExpr{ - pos: position{line: 2472, col: 5, offset: 80013}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2472, col: 5, offset: 80013}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2472, col: 14, offset: 80022}, - expr: &ruleRefExpr{ - pos: position{line: 2472, col: 15, offset: 80023}, - name: "AttributeStructuredValueElement", - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - { - name: "AttributeStructuredValueElement", - pos: position{line: 2476, col: 1, offset: 80120}, - expr: &actionExpr{ - pos: position{line: 2477, col: 5, offset: 80160}, - run: (*parser).callonAttributeStructuredValueElement1, - expr: &seqExpr{ - pos: position{line: 2477, col: 5, offset: 80160}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2477, col: 5, offset: 80160}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2478, col: 5, offset: 80169}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2479, col: 9, offset: 80187}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - run: (*parser).callonAttributeStructuredValueElement8, - expr: &seqExpr{ - pos: position{line: 2840, col: 5, offset: 90159}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2840, col: 6, offset: 90160}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 2841, col: 5, offset: 90205}, - expr: &charClassMatcher{ - pos: position{line: 2841, col: 6, offset: 90206}, - val: "[,;?!\\pL\\pN]", - chars: []rune{',', ';', '?', '!'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2842, col: 5, offset: 90269}, - expr: &choiceExpr{ - pos: position{line: 2842, col: 7, offset: 90271}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeStructuredValueElement15, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonAttributeStructuredValueElement18, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeStructuredValueElement25, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &ruleRefExpr{ - pos: position{line: 2481, col: 11, offset: 80225}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2482, col: 11, offset: 80247}, - name: "Quote", - }, - &actionExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonAttributeStructuredValueElement29, - expr: &seqExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2545, col: 5, offset: 81727}, - run: (*parser).callonAttributeStructuredValueElement31, - }, - &labeledExpr{ - pos: position{line: 2548, col: 5, offset: 81803}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2550, col: 9, offset: 81901}, - run: (*parser).callonAttributeStructuredValueElement34, - expr: &choiceExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - run: (*parser).callonAttributeStructuredValueElement36, - expr: &seqExpr{ - pos: position{line: 685, col: 27, offset: 21818}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 685, col: 27, offset: 21818}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 32, offset: 21823}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonAttributeStructuredValueElement40, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 685, col: 40, offset: 21831}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeStructuredValueElement44, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 47, offset: 21838}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 685, col: 51, offset: 21842}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 695, col: 24, offset: 22243}, - expr: &choiceExpr{ - pos: position{line: 696, col: 5, offset: 22249}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - run: (*parser).callonAttributeStructuredValueElement50, - expr: &seqExpr{ - pos: position{line: 696, col: 6, offset: 22250}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 696, col: 6, offset: 22250}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 696, col: 14, offset: 22258}, - expr: &charClassMatcher{ - pos: position{line: 696, col: 14, offset: 22258}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonAttributeStructuredValueElement55, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeStructuredValueElement59, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonAttributeStructuredValueElement65, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonAttributeStructuredValueElement69, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 700, col: 8, offset: 22484}, - run: (*parser).callonAttributeStructuredValueElement75, - expr: &litMatcher{ - pos: position{line: 700, col: 8, offset: 22484}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 685, col: 79, offset: 21870}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - run: (*parser).callonAttributeStructuredValueElement78, - expr: &seqExpr{ - pos: position{line: 687, col: 9, offset: 21943}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 687, col: 9, offset: 21943}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 687, col: 14, offset: 21948}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonAttributeStructuredValueElement82, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 687, col: 22, offset: 21956}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2553, col: 11, offset: 82005}, - run: (*parser).callonAttributeStructuredValueElement86, - expr: &charClassMatcher{ - pos: position{line: 2553, col: 12, offset: 82006}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - run: (*parser).callonAttributeStructuredValueElement88, - expr: &seqExpr{ - pos: position{line: 2576, col: 5, offset: 82884}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2576, col: 5, offset: 82884}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2576, col: 10, offset: 82889}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonAttributeStructuredValueElement92, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonAttributeStructuredValueElement94, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonAttributeStructuredValueElement96, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonAttributeStructuredValueElement98, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonAttributeStructuredValueElement100, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonAttributeStructuredValueElement102, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonAttributeStructuredValueElement104, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonAttributeStructuredValueElement106, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonAttributeStructuredValueElement108, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonAttributeStructuredValueElement110, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonAttributeStructuredValueElement113, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeStructuredValueElement115, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonAttributeStructuredValueElement119, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonAttributeStructuredValueElement126, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonAttributeStructuredValueElement129, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonAttributeStructuredValueElement133, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonAttributeStructuredValueElement140, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonAttributeStructuredValueElement142, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonAttributeStructuredValueElement144, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2585, col: 5, offset: 83342}, - run: (*parser).callonAttributeStructuredValueElement146, - expr: &litMatcher{ - pos: position{line: 2585, col: 5, offset: 83342}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2588, col: 7, offset: 83400}, - run: (*parser).callonAttributeStructuredValueElement148, - expr: &litMatcher{ - pos: position{line: 2588, col: 7, offset: 83400}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2591, col: 7, offset: 83458}, - run: (*parser).callonAttributeStructuredValueElement150, - expr: &litMatcher{ - pos: position{line: 2591, col: 7, offset: 83458}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2594, col: 7, offset: 83514}, - run: (*parser).callonAttributeStructuredValueElement152, - expr: &litMatcher{ - pos: position{line: 2594, col: 7, offset: 83514}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2598, col: 14, offset: 83579}, - run: (*parser).callonAttributeStructuredValueElement154, - expr: &litMatcher{ - pos: position{line: 2598, col: 14, offset: 83579}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2602, col: 14, offset: 83645}, - run: (*parser).callonAttributeStructuredValueElement156, - expr: &litMatcher{ - pos: position{line: 2602, col: 14, offset: 83645}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2606, col: 15, offset: 83714}, - run: (*parser).callonAttributeStructuredValueElement158, - expr: &litMatcher{ - pos: position{line: 2606, col: 15, offset: 83714}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2610, col: 13, offset: 83779}, - run: (*parser).callonAttributeStructuredValueElement160, - expr: &litMatcher{ - pos: position{line: 2610, col: 13, offset: 83779}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - run: (*parser).callonAttributeStructuredValueElement162, - expr: &seqExpr{ - pos: position{line: 2617, col: 5, offset: 83935}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2617, col: 5, offset: 83935}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2618, col: 5, offset: 83945}, - run: (*parser).callonAttributeStructuredValueElement165, - }, - &choiceExpr{ - pos: position{line: 2622, col: 6, offset: 84032}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonAttributeStructuredValueElement167, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 14, offset: 84040}, - expr: &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonAttributeStructuredValueElement171, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - run: (*parser).callonAttributeStructuredValueElement178, - expr: &seqExpr{ - pos: position{line: 2627, col: 5, offset: 84160}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2627, col: 5, offset: 84160}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andCodeExpr{ - pos: position{line: 2628, col: 5, offset: 84170}, - run: (*parser).callonAttributeStructuredValueElement181, - }, - &andExpr{ - pos: position{line: 2632, col: 5, offset: 84259}, - expr: &choiceExpr{ - pos: position{line: 2632, col: 7, offset: 84261}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonAttributeStructuredValueElement185, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2638, col: 21, offset: 84349}, - run: (*parser).callonAttributeStructuredValueElement192, - expr: &litMatcher{ - pos: position{line: 2638, col: 21, offset: 84349}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2642, col: 20, offset: 84419}, - run: (*parser).callonAttributeStructuredValueElement194, - expr: &litMatcher{ - pos: position{line: 2642, col: 20, offset: 84419}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2646, col: 21, offset: 84490}, - run: (*parser).callonAttributeStructuredValueElement196, - expr: &litMatcher{ - pos: position{line: 2646, col: 21, offset: 84490}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2650, col: 20, offset: 84560}, - run: (*parser).callonAttributeStructuredValueElement198, - expr: &litMatcher{ - pos: position{line: 2650, col: 20, offset: 84560}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - run: (*parser).callonAttributeStructuredValueElement200, - expr: &seqExpr{ - pos: position{line: 2659, col: 5, offset: 84866}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2659, col: 5, offset: 84866}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2659, col: 10, offset: 84871}, - expr: &charClassMatcher{ - pos: position{line: 2659, col: 11, offset: 84872}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonAttributeStructuredValueElement205, - expr: &seqExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2665, col: 6, offset: 85063}, - run: (*parser).callonAttributeStructuredValueElement207, - }, - &litMatcher{ - pos: position{line: 2669, col: 6, offset: 85187}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2669, col: 10, offset: 85191}, - expr: &charClassMatcher{ - pos: position{line: 2669, col: 11, offset: 85192}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonAttributeStructuredValueElement211, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonAttributeStructuredValueElement215, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2853, col: 12, offset: 90555}, - run: (*parser).callonAttributeStructuredValueElement219, - expr: &charClassMatcher{ - pos: position{line: 2853, col: 12, offset: 90555}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlineMacro", - pos: position{line: 2493, col: 1, offset: 80489}, - expr: &actionExpr{ - pos: position{line: 2495, col: 5, offset: 80571}, - run: (*parser).callonInlineMacro1, - expr: &seqExpr{ - pos: position{line: 2495, col: 5, offset: 80571}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2495, col: 5, offset: 80571}, - run: (*parser).callonInlineMacro3, - }, - &labeledExpr{ - pos: position{line: 2498, col: 5, offset: 80636}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2499, col: 9, offset: 80654}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2499, col: 9, offset: 80654}, - name: "InlineIcon", - }, - &ruleRefExpr{ - pos: position{line: 2500, col: 11, offset: 80675}, - name: "InlineImage", - }, - &ruleRefExpr{ - pos: position{line: 2501, col: 11, offset: 80698}, - name: "Link", - }, - &ruleRefExpr{ - pos: position{line: 2502, col: 11, offset: 80714}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2503, col: 11, offset: 80743}, - name: "InlineFootnote", - }, - &ruleRefExpr{ - pos: position{line: 2504, col: 11, offset: 80769}, - name: "CrossReference", - }, - &ruleRefExpr{ - pos: position{line: 2505, col: 11, offset: 80795}, - name: "InlineUserMacro", - }, - &actionExpr{ - pos: position{line: 1281, col: 5, offset: 39502}, - run: (*parser).callonInlineMacro13, - expr: &seqExpr{ - pos: position{line: 1281, col: 5, offset: 39502}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1281, col: 5, offset: 39502}, - val: "\\[[", - ignoreCase: false, - want: "\"\\\\[[\"", - }, - &labeledExpr{ - pos: position{line: 1281, col: 14, offset: 39511}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonInlineMacro17, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1281, col: 22, offset: 39519}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1287, col: 5, offset: 39705}, - run: (*parser).callonInlineMacro21, - expr: &seqExpr{ - pos: position{line: 1287, col: 5, offset: 39705}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1287, col: 5, offset: 39705}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 1287, col: 10, offset: 39710}, - label: "id", - expr: &actionExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - run: (*parser).callonInlineMacro25, - expr: &oneOrMoreExpr{ - pos: position{line: 2895, col: 7, offset: 91799}, - expr: &charClassMatcher{ - pos: position{line: 2895, col: 7, offset: 91799}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1287, col: 18, offset: 39718}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1326, col: 23, offset: 41195}, - run: (*parser).callonInlineMacro29, - expr: &seqExpr{ - pos: position{line: 1326, col: 23, offset: 41195}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1326, col: 23, offset: 41195}, - val: "(((", - ignoreCase: false, - want: "\"(((\"", - }, - &labeledExpr{ - pos: position{line: 1326, col: 29, offset: 41201}, - label: "term1", - expr: &actionExpr{ - pos: position{line: 1333, col: 30, offset: 41532}, - run: (*parser).callonInlineMacro33, - expr: &oneOrMoreExpr{ - pos: position{line: 1333, col: 30, offset: 41532}, - expr: &choiceExpr{ - pos: position{line: 1333, col: 31, offset: 41533}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineMacro37, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1327, col: 5, offset: 41240}, - label: "term2", - expr: &zeroOrOneExpr{ - pos: position{line: 1327, col: 11, offset: 41246}, - expr: &actionExpr{ - pos: position{line: 1327, col: 12, offset: 41247}, - run: (*parser).callonInlineMacro41, - expr: &seqExpr{ - pos: position{line: 1327, col: 12, offset: 41247}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1327, col: 12, offset: 41247}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineMacro44, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1327, col: 19, offset: 41254}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1327, col: 23, offset: 41258}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineMacro48, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1327, col: 30, offset: 41265}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1333, col: 30, offset: 41532}, - run: (*parser).callonInlineMacro51, - expr: &oneOrMoreExpr{ - pos: position{line: 1333, col: 30, offset: 41532}, - expr: &choiceExpr{ - pos: position{line: 1333, col: 31, offset: 41533}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineMacro55, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1328, col: 5, offset: 41332}, - label: "term3", - expr: &zeroOrOneExpr{ - pos: position{line: 1328, col: 11, offset: 41338}, - expr: &actionExpr{ - pos: position{line: 1328, col: 12, offset: 41339}, - run: (*parser).callonInlineMacro59, - expr: &seqExpr{ - pos: position{line: 1328, col: 12, offset: 41339}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1328, col: 12, offset: 41339}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineMacro62, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1328, col: 19, offset: 41346}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1328, col: 23, offset: 41350}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineMacro66, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1328, col: 30, offset: 41357}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1333, col: 30, offset: 41532}, - run: (*parser).callonInlineMacro69, - expr: &oneOrMoreExpr{ - pos: position{line: 1333, col: 30, offset: 41532}, - expr: &choiceExpr{ - pos: position{line: 1333, col: 31, offset: 41533}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlineMacro73, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1329, col: 5, offset: 41424}, - val: ")))", - ignoreCase: false, - want: "\")))\"", - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2508, col: 11, offset: 80874}, - name: "IndexTerm", - }, - &ruleRefExpr{ - pos: position{line: 2509, col: 11, offset: 80894}, - name: "InlineButton", - }, - &ruleRefExpr{ - pos: position{line: 2510, col: 11, offset: 80917}, - name: "InlineMenu", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlinePassthrough", - pos: position{line: 2514, col: 1, offset: 80974}, - expr: &actionExpr{ - pos: position{line: 2516, col: 5, offset: 81062}, - run: (*parser).callonInlinePassthrough1, - expr: &seqExpr{ - pos: position{line: 2516, col: 5, offset: 81062}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2516, col: 5, offset: 81062}, - run: (*parser).callonInlinePassthrough3, - }, - &labeledExpr{ - pos: position{line: 2519, col: 5, offset: 81139}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2520, col: 9, offset: 81157}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1396, col: 26, offset: 44425}, - run: (*parser).callonInlinePassthrough6, - expr: &seqExpr{ - pos: position{line: 1396, col: 26, offset: 44425}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1394, col: 32, offset: 44393}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - &labeledExpr{ - pos: position{line: 1396, col: 54, offset: 44453}, - label: "content", - expr: &choiceExpr{ - pos: position{line: 1400, col: 33, offset: 44666}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1400, col: 34, offset: 44667}, - run: (*parser).callonInlinePassthrough11, - expr: &zeroOrMoreExpr{ - pos: position{line: 1400, col: 34, offset: 44667}, - expr: &seqExpr{ - pos: position{line: 1400, col: 35, offset: 44668}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1400, col: 35, offset: 44668}, - expr: &litMatcher{ - pos: position{line: 1394, col: 32, offset: 44393}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - }, - &anyMatcher{ - line: 1400, col: 64, offset: 44697, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1402, col: 11, offset: 44870}, - run: (*parser).callonInlinePassthrough17, - expr: &zeroOrOneExpr{ - pos: position{line: 1402, col: 11, offset: 44870}, - expr: &seqExpr{ - pos: position{line: 1402, col: 12, offset: 44871}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1402, col: 12, offset: 44871}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlinePassthrough21, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1402, col: 19, offset: 44878}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlinePassthrough24, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1402, col: 28, offset: 44887}, - expr: &litMatcher{ - pos: position{line: 1394, col: 32, offset: 44393}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - }, - &anyMatcher{ - line: 1402, col: 57, offset: 44916, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1394, col: 32, offset: 44393}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - ¬Expr{ - pos: position{line: 1396, col: 121, offset: 44520}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1384, col: 26, offset: 43708}, - run: (*parser).callonInlinePassthrough35, - expr: &seqExpr{ - pos: position{line: 1384, col: 26, offset: 43708}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1382, col: 32, offset: 43678}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &labeledExpr{ - pos: position{line: 1384, col: 54, offset: 43736}, - label: "content", - expr: &choiceExpr{ - pos: position{line: 1388, col: 33, offset: 43949}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1388, col: 34, offset: 43950}, - run: (*parser).callonInlinePassthrough40, - expr: &seqExpr{ - pos: position{line: 1388, col: 34, offset: 43950}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1388, col: 35, offset: 43951}, - expr: &litMatcher{ - pos: position{line: 1382, col: 32, offset: 43678}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - ¬Expr{ - pos: position{line: 1388, col: 64, offset: 43980}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlinePassthrough45, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1388, col: 71, offset: 43987}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlinePassthrough48, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1388, col: 80, offset: 43996, - }, - &zeroOrMoreExpr{ - pos: position{line: 1388, col: 83, offset: 43999}, - expr: &seqExpr{ - pos: position{line: 1388, col: 84, offset: 44000}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1388, col: 84, offset: 44000}, - expr: &seqExpr{ - pos: position{line: 1388, col: 86, offset: 44002}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - run: (*parser).callonInlinePassthrough58, - expr: &oneOrMoreExpr{ - pos: position{line: 2914, col: 11, offset: 92214}, - expr: &charClassMatcher{ - pos: position{line: 2914, col: 12, offset: 92215}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1382, col: 32, offset: 43678}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1388, col: 122, offset: 44038}, - expr: &litMatcher{ - pos: position{line: 1382, col: 32, offset: 43678}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - ¬Expr{ - pos: position{line: 1388, col: 151, offset: 44067}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlinePassthrough65, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - &anyMatcher{ - line: 1388, col: 160, offset: 44076, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1390, col: 11, offset: 44226}, - run: (*parser).callonInlinePassthrough71, - expr: &seqExpr{ - pos: position{line: 1390, col: 12, offset: 44227}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1390, col: 12, offset: 44227}, - expr: &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonInlinePassthrough74, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1390, col: 19, offset: 44234}, - expr: &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonInlinePassthrough77, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1390, col: 28, offset: 44243}, - expr: &litMatcher{ - pos: position{line: 1382, col: 32, offset: 43678}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - &anyMatcher{ - line: 1390, col: 57, offset: 44272, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1382, col: 32, offset: 43678}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - ¬Expr{ - pos: position{line: 1384, col: 121, offset: 43803}, - expr: &charClassMatcher{ - pos: position{line: 2831, col: 13, offset: 90012}, - val: "[\\pL\\pN]", - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2520, col: 57, offset: 81205}, - name: "PassthroughMacro", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "Quote", - pos: position{line: 2525, col: 1, offset: 81265}, - expr: &seqExpr{ - pos: position{line: 2527, col: 5, offset: 81341}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2527, col: 5, offset: 81341}, - run: (*parser).callonQuote2, - }, - &ruleRefExpr{ - pos: position{line: 2530, col: 5, offset: 81406}, - name: "QuotedText", - }, - }, - }, - }, - { - name: "TableColumnsAttribute", - pos: position{line: 2746, col: 1, offset: 87094}, - expr: &actionExpr{ - pos: position{line: 2746, col: 26, offset: 87119}, - run: (*parser).callonTableColumnsAttribute1, - expr: &seqExpr{ - pos: position{line: 2746, col: 26, offset: 87119}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2746, col: 26, offset: 87119}, - label: "cols", - expr: &zeroOrMoreExpr{ - pos: position{line: 2746, col: 31, offset: 87124}, - expr: &actionExpr{ - pos: position{line: 2751, col: 5, offset: 87187}, - run: (*parser).callonTableColumnsAttribute5, - expr: &seqExpr{ - pos: position{line: 2751, col: 5, offset: 87187}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2751, col: 5, offset: 87187}, - expr: ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2754, col: 5, offset: 87311}, - label: "multiplier", - expr: &zeroOrOneExpr{ - pos: position{line: 2754, col: 16, offset: 87322}, - expr: &actionExpr{ - pos: position{line: 2754, col: 17, offset: 87323}, - run: (*parser).callonTableColumnsAttribute12, - expr: &seqExpr{ - pos: position{line: 2754, col: 17, offset: 87323}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2754, col: 17, offset: 87323}, - label: "n", - expr: &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, - run: (*parser).callonTableColumnsAttribute15, - expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, - expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, - expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 2754, col: 27, offset: 87333}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2755, col: 5, offset: 87361}, - label: "halign", - expr: &zeroOrOneExpr{ - pos: position{line: 2755, col: 12, offset: 87368}, - expr: &choiceExpr{ - pos: position{line: 2756, col: 9, offset: 87378}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2756, col: 9, offset: 87378}, - run: (*parser).callonTableColumnsAttribute25, - expr: &litMatcher{ - pos: position{line: 2756, col: 9, offset: 87378}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - }, - &actionExpr{ - pos: position{line: 2757, col: 11, offset: 87425}, - run: (*parser).callonTableColumnsAttribute27, - expr: &litMatcher{ - pos: position{line: 2757, col: 11, offset: 87425}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - &actionExpr{ - pos: position{line: 2758, col: 11, offset: 87473}, - run: (*parser).callonTableColumnsAttribute29, - expr: &litMatcher{ - pos: position{line: 2758, col: 11, offset: 87473}, - val: "^", - ignoreCase: false, - want: "\"^\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2760, col: 5, offset: 87523}, - label: "valign", - expr: &zeroOrOneExpr{ - pos: position{line: 2760, col: 12, offset: 87530}, - expr: &choiceExpr{ - pos: position{line: 2761, col: 9, offset: 87540}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2761, col: 9, offset: 87540}, - run: (*parser).callonTableColumnsAttribute34, - expr: &litMatcher{ - pos: position{line: 2761, col: 9, offset: 87540}, - val: ".<", - ignoreCase: false, - want: "\".<\"", - }, - }, - &actionExpr{ - pos: position{line: 2762, col: 11, offset: 87587}, - run: (*parser).callonTableColumnsAttribute36, - expr: &litMatcher{ - pos: position{line: 2762, col: 11, offset: 87587}, - val: ".>", - ignoreCase: false, - want: "\".>\"", - }, - }, - &actionExpr{ - pos: position{line: 2763, col: 11, offset: 87637}, - run: (*parser).callonTableColumnsAttribute38, - expr: &litMatcher{ - pos: position{line: 2763, col: 11, offset: 87637}, - val: ".^", - ignoreCase: false, - want: "\".^\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2765, col: 5, offset: 87688}, - label: "weight", - expr: &zeroOrOneExpr{ - pos: position{line: 2765, col: 12, offset: 87695}, - expr: &choiceExpr{ - pos: position{line: 2765, col: 13, offset: 87696}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2902, col: 12, offset: 91974}, - run: (*parser).callonTableColumnsAttribute43, - expr: &seqExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 2902, col: 13, offset: 91975}, - expr: &litMatcher{ - pos: position{line: 2902, col: 13, offset: 91975}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - &oneOrMoreExpr{ - pos: position{line: 2902, col: 18, offset: 91980}, - expr: &charClassMatcher{ - pos: position{line: 2902, col: 18, offset: 91980}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2765, col: 24, offset: 87707}, - run: (*parser).callonTableColumnsAttribute49, - expr: &litMatcher{ - pos: position{line: 2765, col: 24, offset: 87707}, - val: "~", - ignoreCase: false, - want: "\"~\"", - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2766, col: 5, offset: 87749}, - label: "style", - expr: &zeroOrOneExpr{ - pos: position{line: 2766, col: 11, offset: 87755}, - expr: &actionExpr{ - pos: position{line: 2766, col: 12, offset: 87756}, - run: (*parser).callonTableColumnsAttribute53, - expr: &charClassMatcher{ - pos: position{line: 2766, col: 12, offset: 87756}, - val: "[adehlms]", - chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2768, col: 5, offset: 87886}, - label: "comma", - expr: &zeroOrOneExpr{ - pos: position{line: 2768, col: 11, offset: 87892}, - expr: &litMatcher{ - pos: position{line: 2768, col: 12, offset: 87893}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2769, col: 5, offset: 87903}, - run: (*parser).callonTableColumnsAttribute58, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - { - name: "UserMacroBlock", - pos: position{line: 2796, col: 1, offset: 88912}, - expr: &actionExpr{ - pos: position{line: 2797, col: 5, offset: 88935}, - run: (*parser).callonUserMacroBlock1, - expr: &seqExpr{ - pos: position{line: 2797, col: 5, offset: 88935}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2797, col: 5, offset: 88935}, - label: "name", - expr: &actionExpr{ - pos: position{line: 2820, col: 18, offset: 89676}, - run: (*parser).callonUserMacroBlock4, - expr: &oneOrMoreExpr{ - pos: position{line: 2820, col: 19, offset: 89677}, - expr: &charClassMatcher{ - pos: position{line: 2820, col: 19, offset: 89677}, - val: "[_-\\pL\\pN]", - chars: []rune{'_', '-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2798, col: 5, offset: 88961}, - run: (*parser).callonUserMacroBlock7, - }, - &litMatcher{ - pos: position{line: 2802, col: 5, offset: 89089}, - val: "::", - ignoreCase: false, - want: "\"::\"", - }, - &labeledExpr{ - pos: position{line: 2803, col: 5, offset: 89099}, - label: "value", - expr: &actionExpr{ - pos: position{line: 2824, col: 19, offset: 89752}, - run: (*parser).callonUserMacroBlock10, - expr: &zeroOrMoreExpr{ - pos: position{line: 2824, col: 19, offset: 89752}, - expr: &charClassMatcher{ - pos: position{line: 2824, col: 19, offset: 89752}, - val: "[^:[ \\r\\n]", - chars: []rune{':', '[', ' ', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2804, col: 5, offset: 89127}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 2804, col: 17, offset: 89139}, - name: "InlineAttributes", - }, - }, - &choiceExpr{ - pos: position{line: 2930, col: 8, offset: 92541}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2919, col: 12, offset: 92331}, - run: (*parser).callonUserMacroBlock16, - expr: &choiceExpr{ - pos: position{line: 2919, col: 13, offset: 92332}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 2919, col: 13, offset: 92332}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 20, offset: 92339}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 2919, col: 29, offset: 92348}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlineUserMacro", - pos: position{line: 2808, col: 1, offset: 89287}, - expr: &actionExpr{ - pos: position{line: 2809, col: 5, offset: 89311}, - run: (*parser).callonInlineUserMacro1, - expr: &seqExpr{ - pos: position{line: 2809, col: 5, offset: 89311}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2809, col: 5, offset: 89311}, - label: "name", - expr: &actionExpr{ - pos: position{line: 2820, col: 18, offset: 89676}, - run: (*parser).callonInlineUserMacro4, - expr: &oneOrMoreExpr{ - pos: position{line: 2820, col: 19, offset: 89677}, - expr: &charClassMatcher{ - pos: position{line: 2820, col: 19, offset: 89677}, - val: "[_-\\pL\\pN]", - chars: []rune{'_', '-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2810, col: 5, offset: 89337}, - run: (*parser).callonInlineUserMacro7, - }, - &litMatcher{ - pos: position{line: 2814, col: 5, offset: 89465}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 2815, col: 5, offset: 89474}, - label: "value", - expr: &actionExpr{ - pos: position{line: 2824, col: 19, offset: 89752}, - run: (*parser).callonInlineUserMacro10, - expr: &zeroOrMoreExpr{ - pos: position{line: 2824, col: 19, offset: 89752}, - expr: &charClassMatcher{ - pos: position{line: 2824, col: 19, offset: 89752}, - val: "[^:[ \\r\\n]", - chars: []rune{':', '[', ' ', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2816, col: 5, offset: 89502}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 2816, col: 17, offset: 89514}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "FileLocation", - pos: position{line: 2865, col: 1, offset: 90741}, - expr: &actionExpr{ - pos: position{line: 2865, col: 17, offset: 90757}, - run: (*parser).callonFileLocation1, - expr: &labeledExpr{ - pos: position{line: 2865, col: 17, offset: 90757}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 2865, col: 22, offset: 90762}, - expr: &choiceExpr{ - pos: position{line: 2865, col: 23, offset: 90763}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - run: (*parser).callonFileLocation5, - expr: &seqExpr{ - pos: position{line: 2882, col: 5, offset: 91256}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2882, col: 5, offset: 91256}, - expr: &litMatcher{ - pos: position{line: 2882, col: 6, offset: 91257}, - val: "[", - ignoreCase: false, - want: "\"[\"", - }, - }, - &labeledExpr{ - pos: position{line: 2883, col: 5, offset: 91281}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2883, col: 14, offset: 91290}, - expr: &choiceExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - run: (*parser).callonFileLocation12, - expr: &oneOrMoreExpr{ - pos: position{line: 2884, col: 9, offset: 91300}, - expr: &charClassMatcher{ - pos: position{line: 2884, col: 10, offset: 91301}, - val: "[^\\r\\n[]�{.,;?! ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - &seqExpr{ - pos: position{line: 2887, col: 11, offset: 91564}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 2848, col: 25, offset: 90406}, - run: (*parser).callonFileLocation16, - expr: &charClassMatcher{ - pos: position{line: 2848, col: 25, offset: 90406}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2887, col: 32, offset: 91585}, - expr: ¬Expr{ - pos: position{line: 2887, col: 34, offset: 91587}, - expr: &choiceExpr{ - pos: position{line: 2887, col: 36, offset: 91589}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 2927, col: 8, offset: 92491}, - expr: &anyMatcher{ - line: 2927, col: 9, offset: 92492, - }, - }, - &actionExpr{ - pos: position{line: 2910, col: 10, offset: 92147}, - run: (*parser).callonFileLocation23, - expr: &charClassMatcher{ - pos: position{line: 2910, col: 11, offset: 92148}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonFileLocation25, - expr: &seqExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 635, col: 5, offset: 20085}, - run: (*parser).callonFileLocation27, - }, - &labeledExpr{ - pos: position{line: 638, col: 5, offset: 20157}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 638, col: 14, offset: 20166}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - run: (*parser).callonFileLocation30, - expr: &seqExpr{ - pos: position{line: 657, col: 25, offset: 20767}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 657, col: 25, offset: 20767}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 657, col: 37, offset: 20779}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileLocation34, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 657, col: 56, offset: 20798}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 657, col: 62, offset: 20804}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonFileLocation41, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonFileLocation46, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonFileLocation48, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 657, col: 78, offset: 20820}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - run: (*parser).callonFileLocation52, - expr: &seqExpr{ - pos: position{line: 661, col: 25, offset: 20938}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 661, col: 25, offset: 20938}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 661, col: 38, offset: 20951}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileLocation56, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 661, col: 57, offset: 20970}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 661, col: 63, offset: 20976}, - expr: &actionExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - run: (*parser).callonFileLocation63, - expr: &seqExpr{ - pos: position{line: 665, col: 17, offset: 21099}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 665, col: 17, offset: 21099}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 665, col: 21, offset: 21103}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 665, col: 28, offset: 21110}, - run: (*parser).callonFileLocation68, - expr: &charClassMatcher{ - pos: position{line: 665, col: 28, offset: 21110}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - run: (*parser).callonFileLocation70, - expr: &oneOrMoreExpr{ - pos: position{line: 667, col: 9, offset: 21164}, - expr: &charClassMatcher{ - pos: position{line: 667, col: 9, offset: 21164}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 661, col: 79, offset: 20992}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - run: (*parser).callonFileLocation74, - expr: &seqExpr{ - pos: position{line: 644, col: 5, offset: 20295}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 644, col: 5, offset: 20295}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 644, col: 13, offset: 20303}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileLocation78, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 644, col: 32, offset: 20322}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - run: (*parser).callonFileLocation84, - expr: &seqExpr{ - pos: position{line: 651, col: 5, offset: 20563}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 651, col: 5, offset: 20563}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 651, col: 9, offset: 20567}, - label: "name", - expr: &actionExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - run: (*parser).callonFileLocation88, - expr: &seqExpr{ - pos: position{line: 318, col: 18, offset: 9733}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 318, col: 18, offset: 9733}, - val: "[_\\pL\\pN]", - chars: []rune{'_'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 318, col: 28, offset: 9743}, - expr: &charClassMatcher{ - pos: position{line: 318, col: 29, offset: 9744}, - val: "[-\\pL\\pN]", - chars: []rune{'-'}, - classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 651, col: 28, offset: 20586}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2889, col: 11, offset: 91643}, - run: (*parser).callonFileLocation94, - expr: &litMatcher{ - pos: position{line: 2889, col: 11, offset: 91643}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - run: (*parser).callonFileLocation96, - expr: &seqExpr{ - pos: position{line: 1197, col: 23, offset: 36942}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1197, col: 51, offset: 36970}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - run: (*parser).callonFileLocation100, - expr: &oneOrMoreExpr{ - pos: position{line: 1197, col: 56, offset: 36975}, - expr: &charClassMatcher{ - pos: position{line: 1197, col: 56, offset: 36975}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1195, col: 32, offset: 36910}, - 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.NewAttributeReference(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.NewAttributeReference(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.NewAttributeReference(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.NewAttributeReference(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.NewAttributeReference(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.NewAttributeReference(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) onDocumentRawLine522(level interface{}) (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentRawLine522() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentRawLine522(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.NewAttributeReference(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) onFileInclusion101() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonFileInclusion101() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion101() -} - -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) onFileInclusion107() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonFileInclusion107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion107() -} - -func (c *current) onFileInclusion103(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonFileInclusion103() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion103(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) onFileInclusion114() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonFileInclusion114() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion114() -} - -func (c *current) onFileInclusion117() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonFileInclusion117() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onFileInclusion117() -} - -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) onDocumentFragment9(attributes interface{}) error { - if attributes, ok := attributes.(types.Attributes); ok { - c.storeBlockAttributes(attributes) - } - return nil - -} - -func (p *parser) callonDocumentFragment9() error { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment9(stack["attributes"]) -} - -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) onDocumentFragment82() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment82() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment82() -} - -func (c *current) onDocumentFragment88() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment88() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment88() -} - -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) onDocumentFragment79(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment79() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment79(stack["delimiter"]) -} - -func (c *current) onDocumentFragment107() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment107() -} - -func (c *current) onDocumentFragment113() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment113() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment113() -} - -func (c *current) onDocumentFragment116() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment116() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment116() -} - -func (c *current) onDocumentFragment104(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment104() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment104(stack["delimiter"]) -} - -func (c *current) onDocumentFragment132() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment132() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment132() -} - -func (c *current) onDocumentFragment136() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment136() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment136() -} - -func (c *current) onDocumentFragment126(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment126() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment126(stack["content"]) -} - -func (c *current) onDocumentFragment100(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment100() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment100(stack["line"]) -} - -func (c *current) onDocumentFragment148() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment148() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment148() -} - -func (c *current) onDocumentFragment154() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment154() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment154() -} - -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) onDocumentFragment145(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment145() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment145(stack["delimiter"]) -} - -func (c *current) onDocumentFragment77(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment77() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment77(stack["delimiter"], stack["content"]) -} - -func (c *current) onDocumentFragment172() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment172() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment172() -} - -func (c *current) onDocumentFragment178() (interface{}, error) { - 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) onDocumentFragment181() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment181() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment181() -} - -func (c *current) onDocumentFragment169(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment169() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment169(stack["delimiter"]) -} - -func (c *current) onDocumentFragment188(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment188() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment188(stack["start"]) -} - -func (c *current) onDocumentFragment200() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment200() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment200() -} - -func (c *current) onDocumentFragment206() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment206() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment206() -} - -func (c *current) onDocumentFragment209() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment209() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment209() -} - -func (c *current) onDocumentFragment197(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment197() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment197(stack["delimiter"]) -} - -func (c *current) onDocumentFragment216(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment216() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment216(stack["end"]) -} - -func (c *current) onDocumentFragment226() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment226() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment226() -} - -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) onDocumentFragment220(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment220() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment220(stack["content"]) -} - -func (c *current) onDocumentFragment191(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment191() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment191(stack["line"]) -} - -func (c *current) onDocumentFragment245() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment245() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment245() -} - -func (c *current) onDocumentFragment251() (interface{}, error) { - 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) onDocumentFragment254() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment254() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment254() -} - -func (c *current) onDocumentFragment242(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment242() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment242(stack["delimiter"]) -} - -func (c *current) onDocumentFragment261(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment261() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment261(stack["end"]) -} - -func (c *current) onDocumentFragment166(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Example, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment166() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment166(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment271() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment271() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment271() -} - -func (c *current) onDocumentFragment275() (interface{}, error) { - 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) onDocumentFragment278() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment278() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment278() -} - -func (c *current) onDocumentFragment267(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) -} - -func (p *parser) callonDocumentFragment267() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment267(stack["language"]) -} - -func (c *current) onDocumentFragment293() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment293() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment293() -} - -func (c *current) onDocumentFragment296() (interface{}, error) { - // TODO: just use "\n" - 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) onDocumentFragment310() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment310() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment310() -} - -func (c *current) onDocumentFragment314() (interface{}, error) { - // TODO: just use "\n" - 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) onDocumentFragment304(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment304() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment304(stack["content"]) -} - -func (c *current) onDocumentFragment287(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment287() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment287(stack["line"]) -} - -func (c *current) onDocumentFragment325() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment325() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment325() -} - -func (c *current) onDocumentFragment328() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment328() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment328() -} - -func (c *current) onDocumentFragment264(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) callonDocumentFragment264() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment264(stack["delimiter"], stack["content"]) -} - -func (c *current) onDocumentFragment341() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment341() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment341() -} - -func (c *current) onDocumentFragment347() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment347() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment347() -} - -func (c *current) onDocumentFragment350() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment350() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment350() -} - -func (c *current) onDocumentFragment338(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment338() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment338(stack["delimiter"]) -} - -func (c *current) onDocumentFragment357(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment357() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment357(stack["start"]) -} - -func (c *current) onDocumentFragment369() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment369() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment369() -} - -func (c *current) onDocumentFragment375() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment375() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment375() -} - -func (c *current) onDocumentFragment378() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment378() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment378() -} - -func (c *current) onDocumentFragment366(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment366() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment366(stack["delimiter"]) -} - -func (c *current) onDocumentFragment385(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment385() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment385(stack["end"]) -} - -func (c *current) onDocumentFragment395() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment395() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment395() -} - -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) onDocumentFragment389(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment389() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment389(stack["content"]) -} - -func (c *current) onDocumentFragment360(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment360() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment360(stack["line"]) -} - -func (c *current) onDocumentFragment414() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment414() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment414() -} - -func (c *current) onDocumentFragment420() (interface{}, error) { - 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) onDocumentFragment423() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment423() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment423() -} - -func (c *current) onDocumentFragment411(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment411() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment411(stack["delimiter"]) -} - -func (c *current) onDocumentFragment430(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment430() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment430(stack["end"]) -} - -func (c *current) onDocumentFragment335(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment335() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment335(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment439() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment439() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment439() -} - -func (c *current) onDocumentFragment445() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment445() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment445() -} - -func (c *current) onDocumentFragment448() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment448() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment448() -} - -func (c *current) onDocumentFragment436(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment436() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment436(stack["delimiter"]) -} - -func (c *current) onDocumentFragment455(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment455() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment455(stack["start"]) -} - -func (c *current) onDocumentFragment467() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment467() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment467() -} - -func (c *current) onDocumentFragment473() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment473() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment473() -} - -func (c *current) onDocumentFragment476() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment476() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment476() -} - -func (c *current) onDocumentFragment464(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment464() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment464(stack["delimiter"]) -} - -func (c *current) onDocumentFragment483(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment483() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment483(stack["end"]) -} - -func (c *current) onDocumentFragment493() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment493() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment493() -} - -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) onDocumentFragment487(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment487() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment487(stack["content"]) -} - -func (c *current) onDocumentFragment458(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment458() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment458(stack["line"]) -} - -func (c *current) onDocumentFragment512() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment512() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment512() -} - -func (c *current) onDocumentFragment518() (interface{}, error) { - 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) onDocumentFragment521() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment521() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment521() -} - -func (c *current) onDocumentFragment509(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment509() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment509(stack["delimiter"]) -} - -func (c *current) onDocumentFragment528(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment528() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment528(stack["end"]) -} - -func (c *current) onDocumentFragment433(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment433() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment433(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment537() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment537() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment537() -} - -func (c *current) onDocumentFragment543() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment543() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment543() -} - -func (c *current) onDocumentFragment546() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment546() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment546() -} - -func (c *current) onDocumentFragment534(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment534() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment534(stack["delimiter"]) -} - -func (c *current) onDocumentFragment553(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment553() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment553(stack["start"]) -} - -func (c *current) onDocumentFragment565() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment565() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment565() -} - -func (c *current) onDocumentFragment571() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment571() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment571() -} - -func (c *current) onDocumentFragment574() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment574() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment574() -} - -func (c *current) onDocumentFragment562(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment562() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment562(stack["delimiter"]) -} - -func (c *current) onDocumentFragment581(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment581() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment581(stack["end"]) -} - -func (c *current) onDocumentFragment591() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment591() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment591() -} - -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) onDocumentFragment585(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment585() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment585(stack["content"]) -} - -func (c *current) onDocumentFragment556(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment556() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment556(stack["line"]) -} - -func (c *current) onDocumentFragment610() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment610() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment610() -} - -func (c *current) onDocumentFragment616() (interface{}, error) { - 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) onDocumentFragment619() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment619() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment619() -} - -func (c *current) onDocumentFragment607(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment607() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment607(stack["delimiter"]) -} - -func (c *current) onDocumentFragment626(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment626() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment626(stack["end"]) -} - -func (c *current) onDocumentFragment531(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment531() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment531(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment641() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment641() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment641() -} - -func (c *current) onDocumentFragment644() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment644() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment644() -} - -func (c *current) onDocumentFragment635() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment635() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment635() -} - -func (c *current) onDocumentFragment653() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment653() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment653() -} - -func (c *current) onDocumentFragment657() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment657() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment657() -} - -func (c *current) onDocumentFragment632(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment632() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment632(stack["content"]) -} - -func (c *current) onDocumentFragment676() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment676() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment676() -} - -func (c *current) onDocumentFragment679() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment679() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment679() -} - -func (c *current) onDocumentFragment670() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment670() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment670() -} - -func (c *current) onDocumentFragment688() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment688() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment688() -} - -func (c *current) onDocumentFragment692() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment692() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment692() -} - -func (c *current) onDocumentFragment667(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment667() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment667(stack["content"]) -} - -func (c *current) onDocumentFragment702() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment702() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment702() -} - -func (c *current) onDocumentFragment705(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line - -} - -func (p *parser) callonDocumentFragment705() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment705(stack["content"]) -} - -func (c *current) onDocumentFragment707() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment707() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment707() -} - -func (c *current) onDocumentFragment699(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment699() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment699(stack["content"]) -} - -func (c *current) onDocumentFragment629(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) - -} - -func (p *parser) callonDocumentFragment629() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment629(stack["firstLine"], stack["otherLines"]) -} - -func (c *current) onDocumentFragment720() (interface{}, error) { - // sequence of exactly "--" - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment720() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment720() -} - -func (c *current) onDocumentFragment723() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment723() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment723() -} - -func (c *current) onDocumentFragment726() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment726() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment726() -} - -func (c *current) onDocumentFragment717(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment717() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment717(stack["delimiter"]) -} - -func (c *current) onDocumentFragment742() (interface{}, error) { - // sequence of exactly "--" - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment742() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment742() -} - -func (c *current) onDocumentFragment745() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment745() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment745() -} - -func (c *current) onDocumentFragment748() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment748() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment748() -} - -func (c *current) onDocumentFragment739(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment739() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment739(stack["delimiter"]) -} - -func (c *current) onDocumentFragment764() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment764() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment764() -} - -func (c *current) onDocumentFragment768() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment768() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment768() -} - -func (c *current) onDocumentFragment758(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment758() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment758(stack["content"]) -} - -func (c *current) onDocumentFragment735(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment735() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment735(stack["line"]) -} - -func (c *current) onDocumentFragment781() (interface{}, error) { - // sequence of exactly "--" - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment781() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment781() -} - -func (c *current) onDocumentFragment784() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment784() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment784() -} - -func (c *current) onDocumentFragment787() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment787() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment787() -} - -func (c *current) onDocumentFragment778(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment778() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment778(stack["delimiter"]) -} - -func (c *current) onDocumentFragment714(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Open, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment714() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment714(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment802() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment802() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment802() -} - -func (c *current) onDocumentFragment808() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment808() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment808() -} - -func (c *current) onDocumentFragment811() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment811() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment811() -} - -func (c *current) onDocumentFragment799(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment799() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment799(stack["delimiter"]) -} - -func (c *current) onDocumentFragment818(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment818() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment818(stack["start"]) -} - -func (c *current) onDocumentFragment830() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment830() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment830() -} - -func (c *current) onDocumentFragment836() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment836() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment836() -} - -func (c *current) onDocumentFragment839() (interface{}, error) { - // TODO: just use "\n" - 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) onDocumentFragment827(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment827() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment827(stack["delimiter"]) -} - -func (c *current) onDocumentFragment846(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment846() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment846(stack["end"]) -} - -func (c *current) onDocumentFragment856() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment856() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment856() -} - -func (c *current) onDocumentFragment860() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment860() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment860() -} - -func (c *current) onDocumentFragment850(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment850() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment850(stack["content"]) -} - -func (c *current) onDocumentFragment821(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment821() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment821(stack["line"]) -} - -func (c *current) onDocumentFragment875() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment875() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment875() -} - -func (c *current) onDocumentFragment881() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment881() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment881() -} - -func (c *current) onDocumentFragment884() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment884() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment884() -} - -func (c *current) onDocumentFragment872(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment872() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment872(stack["delimiter"]) -} - -func (c *current) onDocumentFragment891(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment891() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment891(stack["end"]) -} - -func (c *current) onDocumentFragment796(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment796() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment796(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment900() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment900() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment900() -} - -func (c *current) onDocumentFragment906() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment906() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment906() -} - -func (c *current) onDocumentFragment909() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment909() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment909() -} - -func (c *current) onDocumentFragment897(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment897() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment897(stack["delimiter"]) -} - -func (c *current) onDocumentFragment916(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment916() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment916(stack["start"]) -} - -func (c *current) onDocumentFragment928() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment928() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment928() -} - -func (c *current) onDocumentFragment934() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment934() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment934() -} - -func (c *current) onDocumentFragment937() (interface{}, error) { - // TODO: just use "\n" - 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) onDocumentFragment925(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment925() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment925(stack["delimiter"]) -} - -func (c *current) onDocumentFragment944(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment944() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment944(stack["end"]) -} - -func (c *current) onDocumentFragment954() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment954() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment954() -} - -func (c *current) onDocumentFragment958() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment958() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment958() -} - -func (c *current) onDocumentFragment948(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment948() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment948(stack["content"]) -} - -func (c *current) onDocumentFragment919(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment919() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment919(stack["line"]) -} - -func (c *current) onDocumentFragment973() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment973() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment973() -} - -func (c *current) onDocumentFragment979() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment979() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment979() -} - -func (c *current) onDocumentFragment982() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment982() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment982() -} - -func (c *current) onDocumentFragment970(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment970() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment970(stack["delimiter"]) -} - -func (c *current) onDocumentFragment989(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment989() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment989(stack["end"]) -} - -func (c *current) onDocumentFragment894(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment894() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment894(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment998() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment998() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment998() -} - -func (c *current) onDocumentFragment1004() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1004() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1004() -} - -func (c *current) onDocumentFragment1007() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1007() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1007() -} - -func (c *current) onDocumentFragment995(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment995() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment995(stack["delimiter"]) -} - -func (c *current) onDocumentFragment1014(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment1014() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1014(stack["start"]) -} - -func (c *current) onDocumentFragment1026() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1026() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1026() -} - -func (c *current) onDocumentFragment1032() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1032() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1032() -} - -func (c *current) onDocumentFragment1035() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1035() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1035() -} - -func (c *current) onDocumentFragment1023(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment1023() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1023(stack["delimiter"]) -} - -func (c *current) onDocumentFragment1042(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment1042() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1042(stack["end"]) -} - -func (c *current) onDocumentFragment1052() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1052() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1052() -} - -func (c *current) onDocumentFragment1056() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1056() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1056() -} - -func (c *current) onDocumentFragment1046(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment1046() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1046(stack["content"]) -} - -func (c *current) onDocumentFragment1017(line interface{}) (interface{}, error) { - return line, nil - -} - -func (p *parser) callonDocumentFragment1017() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1017(stack["line"]) -} - -func (c *current) onDocumentFragment1071() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1071() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1071() -} - -func (c *current) onDocumentFragment1077() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1077() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1077() -} - -func (c *current) onDocumentFragment1080() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1080() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1080() -} - -func (c *current) onDocumentFragment1068(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment1068() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1068(stack["delimiter"]) -} - -func (c *current) onDocumentFragment1087(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - -} - -func (p *parser) callonDocumentFragment1087() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1087(stack["end"]) -} - -func (c *current) onDocumentFragment992(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) - -} - -func (p *parser) callonDocumentFragment992() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment992(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onDocumentFragment1101() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1101() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1101() -} - -func (c *current) onDocumentFragment1104() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1104() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1104() -} - -func (c *current) onDocumentFragment1112() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1112() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1112() -} - -func (c *current) onDocumentFragment1090() (interface{}, error) { - - return types.NewThematicBreak() - -} - -func (p *parser) callonDocumentFragment1090() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1090() -} - -func (c *current) onDocumentFragment1124() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1124() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1124() -} - -func (c *current) onDocumentFragment1127() (interface{}, error) { - // TODO: just use "\n" - 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) onDocumentFragment1143() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1143() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1143() -} - -func (c *current) onDocumentFragment1146() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1146() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1146() -} - -func (c *current) onDocumentFragment1137() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment1137() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1137() -} - -func (c *current) onDocumentFragment1160() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1160() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1160() -} - -func (c *current) onDocumentFragment1163() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1163() -} - -func (c *current) onDocumentFragment1185() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1185() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1185() -} - -func (c *current) onDocumentFragment1190() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1190() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1190() -} - -func (c *current) onDocumentFragment1188(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment1188() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1188(stack["content"]) -} - -func (c *current) onDocumentFragment1181(content interface{}) (interface{}, error) { - return types.NewInlineTableCell(content.(types.RawLine)) - -} - -func (p *parser) callonDocumentFragment1181() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1181(stack["content"]) -} - -func (c *current) onDocumentFragment1194() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1194() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1194() -} - -func (c *current) onDocumentFragment1177(cells interface{}) (interface{}, error) { - - return cells, nil -} - -func (p *parser) callonDocumentFragment1177() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1177(stack["cells"]) -} - -func (c *current) onDocumentFragment1211() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1211() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1211() -} - -func (c *current) onDocumentFragment1214() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1214() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1214() -} - -func (c *current) onDocumentFragment1230() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1230() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1230() -} - -func (c *current) onDocumentFragment1233() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1233() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1233() -} - -func (c *current) onDocumentFragment1224() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment1224() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1224() -} - -func (c *current) onDocumentFragment1242() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1242() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1242() -} - -func (c *current) onDocumentFragment1247() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1247() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1247() -} - -func (c *current) onDocumentFragment1250() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1250() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1250() -} - -func (c *current) onDocumentFragment1264() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1264() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1264() -} - -func (c *current) onDocumentFragment1267() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1267() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1267() -} - -func (c *current) onDocumentFragment1283() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1283() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1283() -} - -func (c *current) onDocumentFragment1286() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1286() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1286() -} - -func (c *current) onDocumentFragment1277() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment1277() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1277() -} - -func (c *current) onDocumentFragment1297() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1297() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1297() -} - -func (c *current) onDocumentFragment1302() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1302() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1302() -} - -func (c *current) onDocumentFragment1307() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1307() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1307() -} - -func (c *current) onDocumentFragment1257(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment1257() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1257(stack["content"]) -} - -func (c *current) onDocumentFragment1204(format, content interface{}) (interface{}, error) { - return types.NewMultilineTableCell(content.([]interface{}), format) - -} - -func (p *parser) callonDocumentFragment1204() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1204(stack["format"], stack["content"]) -} - -func (c *current) onDocumentFragment1201(cells interface{}) (interface{}, error) { - return cells, nil -} - -func (p *parser) callonDocumentFragment1201() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1201(stack["cells"]) -} - -func (c *current) onDocumentFragment1174(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) - -} - -func (p *parser) callonDocumentFragment1174() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1174(stack["cells"]) -} - -func (c *current) onDocumentFragment1320() (interface{}, error) { - 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) onDocumentFragment1323() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1323() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1323() -} - -func (c *current) onDocumentFragment1314() (interface{}, error) { - return types.NewBlankLine() - -} - -func (p *parser) callonDocumentFragment1314() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1314() -} - -func (c *current) onDocumentFragment1153(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonDocumentFragment1153() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1153(stack["content"]) -} - -func (c *current) onDocumentFragment1334() (interface{}, error) { - 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) onDocumentFragment1337() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1337() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1337() -} - -func (c *current) onDocumentFragment1120(lines interface{}) (interface{}, error) { - return types.NewTable(lines.([]interface{})) - -} - -func (p *parser) callonDocumentFragment1120() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1120(stack["lines"]) -} - -func (c *current) onDocumentFragment1352() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1352() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1352() -} - -func (c *current) onDocumentFragment1356() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1356() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1356() -} - -func (c *current) onDocumentFragment1346(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) - -} - -func (p *parser) callonDocumentFragment1346() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1346(stack["content"]) -} - -func (c *current) onDocumentFragment1365() (bool, error) { - return c.isFrontMatterAllowed(), nil - -} - -func (p *parser) callonDocumentFragment1365() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1365() -} - -func (c *current) onDocumentFragment1371() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1371() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1371() -} - -func (c *current) onDocumentFragment1374() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1374() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1374() -} - -func (c *current) onDocumentFragment1391() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1391() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1391() -} - -func (c *current) onDocumentFragment1394() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1394() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1394() -} - -func (c *current) onDocumentFragment1383() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1383() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1383() -} - -func (c *current) onDocumentFragment1404() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentFragment1404() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1404() -} - -func (c *current) onDocumentFragment1407() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentFragment1407() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1407() -} - -func (c *current) onDocumentFragment1367(content interface{}) (interface{}, error) { - return types.NewYamlFrontMatter(content.(string)) -} - -func (p *parser) callonDocumentFragment1367() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1367(stack["content"]) -} - -func (c *current) onDocumentFragment1363(frontmatter interface{}) (interface{}, error) { - return frontmatter, nil - -} - -func (p *parser) callonDocumentFragment1363() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1363(stack["frontmatter"]) -} - -func (c *current) onDocumentFragment1415(attributes, element interface{}) (bool, error) { - // there must be at least `attributes` or `element` - return attributes != nil || element != nil, nil - -} - -func (p *parser) callonDocumentFragment1415() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1415(stack["attributes"], stack["element"]) -} - -func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { - c.disableFrontMatterRule() // not allowed as soon as a single element is found - c.disableDocumentHeaderRule(element) // 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) onDelimitedBlockElements3() error { - c.globalStore[withinDelimitedBlockKey] = true - return nil - -} - -func (p *parser) callonDelimitedBlockElements3() error { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDelimitedBlockElements3() -} - -func (c *current) onDelimitedBlockElements11() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonDelimitedBlockElements11() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDelimitedBlockElements11() -} - -func (c *current) onDelimitedBlockElements7(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonDelimitedBlockElements7() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDelimitedBlockElements7(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), value, 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) onAttributeDeclarationValue10() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonAttributeDeclarationValue10() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue10() -} - -func (c *current) onAttributeDeclarationValue16() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValue16() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue16() -} - -func (c *current) onAttributeDeclarationValue7(elements interface{}) (interface{}, error) { - - return elements, nil - -} - -func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValue7(stack["elements"]) -} - -func (c *current) onAttributeDeclarationValue1(elements, otherElements interface{}) (interface{}, error) { - if otherElements, ok := otherElements.([]interface{}); ok { - elements = append(elements.([]interface{}), otherElements...) - } - 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) onAttributeDeclarationValueElements1(elements interface{}) (interface{}, error) { - return elements.([]interface{}), nil - -} - -func (p *parser) callonAttributeDeclarationValueElements1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElements1(stack["elements"]) -} - -func (c *current) onAttributeDeclarationValueElement8() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement8() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement8() -} - -func (c *current) onAttributeDeclarationValueElement11() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonAttributeDeclarationValueElement11() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement11() -} - -func (c *current) onAttributeDeclarationValueElement21() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement21() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement21() -} - -func (c *current) onAttributeDeclarationValueElement26() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement26() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement26() -} - -func (c *current) onAttributeDeclarationValueElement35() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement35() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement35() -} - -func (c *current) onAttributeDeclarationValueElement39() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement39() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement39() -} - -func (c *current) onAttributeDeclarationValueElement45() (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) callonAttributeDeclarationValueElement45() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement45() -} - -func (c *current) onAttributeDeclarationValueElement54() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement54() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement54() -} - -func (c *current) onAttributeDeclarationValueElement50(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) callonAttributeDeclarationValueElement50() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement50(stack["name"]) -} - -func (c *current) onAttributeDeclarationValueElement64() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement64() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement64() -} - -func (c *current) onAttributeDeclarationValueElement60(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement60() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement60(stack["name"]) -} - -func (c *current) onAttributeDeclarationValueElement70() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement70() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement70() -} - -func (c *current) onAttributeDeclarationValueElement31(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - -} - -func (p *parser) callonAttributeDeclarationValueElement31() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement31(stack["id"], stack["label"]) -} - -func (c *current) onAttributeDeclarationValueElement77() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement77() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement77() -} - -func (c *current) onAttributeDeclarationValueElement73(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - -} - -func (p *parser) callonAttributeDeclarationValueElement73() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement73(stack["id"]) -} - -func (c *current) onAttributeDeclarationValueElement29() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement29() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement29() -} - -func (c *current) onAttributeDeclarationValueElement81() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement81() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement81() -} - -func (c *current) onAttributeDeclarationValueElement24(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonAttributeDeclarationValueElement24() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement24(stack["element"]) -} - -func (c *current) onAttributeDeclarationValueElement83() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement83() -} - -func (c *current) onAttributeDeclarationValueElement87() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement87() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement87() -} - -func (c *current) onAttributeDeclarationValueElement94() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement94() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement94() -} - -func (c *current) onAttributeDeclarationValueElement106() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement106() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement106() -} - -func (c *current) onAttributeDeclarationValueElement108() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement108() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement108() -} - -func (c *current) onAttributeDeclarationValueElement101(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeDeclarationValueElement101() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement101(stack["start"]) -} - -func (c *current) onAttributeDeclarationValueElement90(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonAttributeDeclarationValueElement90() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement90(stack["name"], stack["start"]) -} - -func (c *current) onAttributeDeclarationValueElement116() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement116() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement116() -} - -func (c *current) onAttributeDeclarationValueElement128() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement128() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement128() -} - -func (c *current) onAttributeDeclarationValueElement130() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement130() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement130() -} - -func (c *current) onAttributeDeclarationValueElement123(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeDeclarationValueElement123() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement123(stack["start"]) -} - -func (c *current) onAttributeDeclarationValueElement112(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonAttributeDeclarationValueElement112() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement112(stack["name"], stack["start"]) -} - -func (c *current) onAttributeDeclarationValueElement138() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement138() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement138() -} - -func (c *current) onAttributeDeclarationValueElement134(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) callonAttributeDeclarationValueElement134() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement134(stack["name"]) -} - -func (c *current) onAttributeDeclarationValueElement148() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeDeclarationValueElement148() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement148() -} - -func (c *current) onAttributeDeclarationValueElement144(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonAttributeDeclarationValueElement144() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement144(stack["name"]) -} - -func (c *current) onAttributeDeclarationValueElement85(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonAttributeDeclarationValueElement85() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement85(stack["element"]) -} - -func (c *current) onAttributeDeclarationValueElement1(element interface{}) (interface{}, error) { - - if log.IsLevelEnabled(log.DebugLevel) { - log.Debugf("new AttributeDeclarationValueElement: %s", spew.Sdump(element)) - } - return element, nil - -} - -func (p *parser) callonAttributeDeclarationValueElement1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeDeclarationValueElement1(stack["element"]) -} - -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.NewAttributeReference(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) onBlockAttributes145() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonBlockAttributes145() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes145() -} - -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) { - 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.NewAttributeReference(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) onLongHandAttributes27() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes27() -} - -func (c *current) onLongHandAttributes30() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes30() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes30() -} - -func (c *current) onLongHandAttributes32() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes32() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes32() -} - -func (c *current) onLongHandAttributes34() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes34() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes34() -} - -func (c *current) onLongHandAttributes36() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes36() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes36() -} - -func (c *current) onLongHandAttributes38() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes38() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes38() -} - -func (c *current) onLongHandAttributes42() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes42() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes42() -} - -func (c *current) onLongHandAttributes49() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes49() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes49() -} - -func (c *current) onLongHandAttributes61() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes61() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes61() -} - -func (c *current) onLongHandAttributes63() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes63() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes63() -} - -func (c *current) onLongHandAttributes56(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes56() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes56(stack["start"]) -} - -func (c *current) onLongHandAttributes45(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes45() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes45(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes71() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes71() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes71() -} - -func (c *current) onLongHandAttributes83() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes83() -} - -func (c *current) onLongHandAttributes85() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes85() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes85() -} - -func (c *current) onLongHandAttributes78(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes78() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes78(stack["start"]) -} - -func (c *current) onLongHandAttributes67(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes67() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes67(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes93() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes93() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes93() -} - -func (c *current) onLongHandAttributes89(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) callonLongHandAttributes89() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes89(stack["name"]) -} - -func (c *current) onLongHandAttributes103() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes103() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes103() -} - -func (c *current) onLongHandAttributes99(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes99() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes99(stack["name"]) -} - -func (c *current) onLongHandAttributes40(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes40() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes40(stack["element"]) -} - -func (c *current) onLongHandAttributes109() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes109() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes109() -} - -func (c *current) onLongHandAttributes113() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes113() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes113() -} - -func (c *current) onLongHandAttributes115() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes115() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes115() -} - -func (c *current) onLongHandAttributes23(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes23() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes23(stack["elements"]) -} - -func (c *current) onLongHandAttributes17(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes17() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes17(stack["content"]) -} - -func (c *current) onLongHandAttributes129() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes129() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes129() -} - -func (c *current) onLongHandAttributes132() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes132() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes132() -} - -func (c *current) onLongHandAttributes134() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes134() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes134() -} - -func (c *current) onLongHandAttributes136() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes136() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes136() -} - -func (c *current) onLongHandAttributes138() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes138() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes138() -} - -func (c *current) onLongHandAttributes140() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes140() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes140() -} - -func (c *current) onLongHandAttributes144() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes144() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes144() -} - -func (c *current) onLongHandAttributes151() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes151() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes151() -} - -func (c *current) onLongHandAttributes163() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes163() -} - -func (c *current) onLongHandAttributes165() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes165() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes165() -} - -func (c *current) onLongHandAttributes158(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes158() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes158(stack["start"]) -} - -func (c *current) onLongHandAttributes147(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes147() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes147(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes173() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes173() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes173() -} - -func (c *current) onLongHandAttributes185() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes185() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes185() -} - -func (c *current) onLongHandAttributes187() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes187() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes187() -} - -func (c *current) onLongHandAttributes180(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes180() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes180(stack["start"]) -} - -func (c *current) onLongHandAttributes169(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes169() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes169(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes195() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes195() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes195() -} - -func (c *current) onLongHandAttributes191(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) callonLongHandAttributes191() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes191(stack["name"]) -} - -func (c *current) onLongHandAttributes205() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes205() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes205() -} - -func (c *current) onLongHandAttributes201(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes201() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes201(stack["name"]) -} - -func (c *current) onLongHandAttributes142(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes142() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes142(stack["element"]) -} - -func (c *current) onLongHandAttributes211() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes211() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes211() -} - -func (c *current) onLongHandAttributes216() (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) callonLongHandAttributes216() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes216() -} - -func (c *current) onLongHandAttributes218() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes218() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes218() -} - -func (c *current) onLongHandAttributes125(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes125() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes125(stack["elements"]) -} - -func (c *current) onLongHandAttributes226() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes226() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes226() -} - -func (c *current) onLongHandAttributes119(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes119() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes119(stack["content"]) -} - -func (c *current) onLongHandAttributes234() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes234() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes234() -} - -func (c *current) onLongHandAttributes236() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes236() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes236() -} - -func (c *current) onLongHandAttributes238() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes238() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes238() -} - -func (c *current) onLongHandAttributes240() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes240() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes240() -} - -func (c *current) onLongHandAttributes242() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes242() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes242() -} - -func (c *current) onLongHandAttributes247() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes247() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes247() -} - -func (c *current) onLongHandAttributes254() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes254() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes254() -} - -func (c *current) onLongHandAttributes266() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes266() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes266() -} - -func (c *current) onLongHandAttributes268() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes268() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes268() -} - -func (c *current) onLongHandAttributes261(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes261() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes261(stack["start"]) -} - -func (c *current) onLongHandAttributes250(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes250() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes250(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes276() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes276() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes276() -} - -func (c *current) onLongHandAttributes288() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes288() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes288() -} - -func (c *current) onLongHandAttributes290() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes290() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes290() -} - -func (c *current) onLongHandAttributes283(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes283() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes283(stack["start"]) -} - -func (c *current) onLongHandAttributes272(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes272() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes272(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes298() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes298() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes298() -} - -func (c *current) onLongHandAttributes294(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) callonLongHandAttributes294() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes294(stack["name"]) -} - -func (c *current) onLongHandAttributes308() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes308() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes308() -} - -func (c *current) onLongHandAttributes304(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes304() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes304(stack["name"]) -} - -func (c *current) onLongHandAttributes245(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes245() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes245(stack["element"]) -} - -func (c *current) onLongHandAttributes314() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes314() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes314() -} - -func (c *current) onLongHandAttributes320() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes320() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes320() -} - -func (c *current) onLongHandAttributes229(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes229() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes229(stack["elements"]) -} - -func (c *current) onLongHandAttributes14(value interface{}) (interface{}, error) { - return types.NewPositionalAttribute(value) - -} - -func (p *parser) callonLongHandAttributes14() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes14(stack["value"]) -} - -func (c *current) onLongHandAttributes348() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes348() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes348() -} - -func (c *current) onLongHandAttributes351() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes351() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes351() -} - -func (c *current) onLongHandAttributes353() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes353() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes353() -} - -func (c *current) onLongHandAttributes355() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes355() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes355() -} - -func (c *current) onLongHandAttributes357() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes357() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes357() -} - -func (c *current) onLongHandAttributes359() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes359() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes359() -} - -func (c *current) onLongHandAttributes363() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes363() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes363() -} - -func (c *current) onLongHandAttributes370() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes370() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes370() -} - -func (c *current) onLongHandAttributes382() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes382() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes382() -} - -func (c *current) onLongHandAttributes384() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes384() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes384() -} - -func (c *current) onLongHandAttributes377(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes377() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes377(stack["start"]) -} - -func (c *current) onLongHandAttributes366(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes366() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes366(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes392() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes392() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes392() -} - -func (c *current) onLongHandAttributes404() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes404() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes404() -} - -func (c *current) onLongHandAttributes406() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes406() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes406() -} - -func (c *current) onLongHandAttributes399(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes399() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes399(stack["start"]) -} - -func (c *current) onLongHandAttributes388(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes388() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes388(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes414() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes414() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes414() -} - -func (c *current) onLongHandAttributes410(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) callonLongHandAttributes410() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes410(stack["name"]) -} - -func (c *current) onLongHandAttributes424() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes424() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes424() -} - -func (c *current) onLongHandAttributes420(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes420() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes420(stack["name"]) -} - -func (c *current) onLongHandAttributes361(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes361() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes361(stack["element"]) -} - -func (c *current) onLongHandAttributes430() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes430() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes430() -} - -func (c *current) onLongHandAttributes434() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes434() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes434() -} - -func (c *current) onLongHandAttributes436() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes436() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes436() -} - -func (c *current) onLongHandAttributes344(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes344() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes344(stack["elements"]) -} - -func (c *current) onLongHandAttributes338(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes338() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes338(stack["content"]) -} - -func (c *current) onLongHandAttributes450() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes450() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes450() -} - -func (c *current) onLongHandAttributes453() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes453() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes453() -} - -func (c *current) onLongHandAttributes455() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes455() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes455() -} - -func (c *current) onLongHandAttributes457() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes457() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes457() -} - -func (c *current) onLongHandAttributes459() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes459() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes459() -} - -func (c *current) onLongHandAttributes461() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes461() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes461() -} - -func (c *current) onLongHandAttributes465() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes465() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes465() -} - -func (c *current) onLongHandAttributes472() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes472() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes472() -} - -func (c *current) onLongHandAttributes484() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes484() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes484() -} - -func (c *current) onLongHandAttributes486() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes486() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes486() -} - -func (c *current) onLongHandAttributes479(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes479() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes479(stack["start"]) -} - -func (c *current) onLongHandAttributes468(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes468() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes468(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes494() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes494() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes494() -} - -func (c *current) onLongHandAttributes506() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes506() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes506() -} - -func (c *current) onLongHandAttributes508() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes508() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes508() -} - -func (c *current) onLongHandAttributes501(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes501() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes501(stack["start"]) -} - -func (c *current) onLongHandAttributes490(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes490() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes490(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes516() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes516() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes516() -} - -func (c *current) onLongHandAttributes512(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) callonLongHandAttributes512() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes512(stack["name"]) -} - -func (c *current) onLongHandAttributes526() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes526() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes526() -} - -func (c *current) onLongHandAttributes522(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes522() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes522(stack["name"]) -} - -func (c *current) onLongHandAttributes463(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes463() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes463(stack["element"]) -} - -func (c *current) onLongHandAttributes532() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes532() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes532() -} - -func (c *current) onLongHandAttributes537() (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) callonLongHandAttributes537() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes537() -} - -func (c *current) onLongHandAttributes539() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes539() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes539() -} - -func (c *current) onLongHandAttributes446(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes446() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes446(stack["elements"]) -} - -func (c *current) onLongHandAttributes547() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes547() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes547() -} - -func (c *current) onLongHandAttributes440(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes440() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes440(stack["content"]) -} - -func (c *current) onLongHandAttributes555() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes555() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes555() -} - -func (c *current) onLongHandAttributes557() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes557() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes557() -} - -func (c *current) onLongHandAttributes559() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes559() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes559() -} - -func (c *current) onLongHandAttributes561() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes561() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes561() -} - -func (c *current) onLongHandAttributes563() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes563() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes563() -} - -func (c *current) onLongHandAttributes568() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes568() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes568() -} - -func (c *current) onLongHandAttributes575() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes575() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes575() -} - -func (c *current) onLongHandAttributes587() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes587() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes587() -} - -func (c *current) onLongHandAttributes589() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes589() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes589() -} - -func (c *current) onLongHandAttributes582(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes582() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes582(stack["start"]) -} - -func (c *current) onLongHandAttributes571(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes571() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes571(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes597() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes597() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes597() -} - -func (c *current) onLongHandAttributes609() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes609() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes609() -} - -func (c *current) onLongHandAttributes611() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes611() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes611() -} - -func (c *current) onLongHandAttributes604(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes604() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes604(stack["start"]) -} - -func (c *current) onLongHandAttributes593(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes593() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes593(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes619() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes619() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes619() -} - -func (c *current) onLongHandAttributes615(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) callonLongHandAttributes615() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes615(stack["name"]) -} - -func (c *current) onLongHandAttributes629() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes629() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes629() -} - -func (c *current) onLongHandAttributes625(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes625() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes625(stack["name"]) -} - -func (c *current) onLongHandAttributes566(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes566() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes566(stack["element"]) -} - -func (c *current) onLongHandAttributes635() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes635() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes635() -} - -func (c *current) onLongHandAttributes641() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes641() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes641() -} - -func (c *current) onLongHandAttributes550(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes550() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes550(stack["elements"]) -} - -func (c *current) onLongHandAttributes333(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) - -} - -func (p *parser) callonLongHandAttributes333() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes333(stack["id"]) -} - -func (c *current) onLongHandAttributes659() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes659() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes659() -} - -func (c *current) onLongHandAttributes662() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes662() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes662() -} - -func (c *current) onLongHandAttributes664() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes664() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes664() -} - -func (c *current) onLongHandAttributes666() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes666() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes666() -} - -func (c *current) onLongHandAttributes668() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes668() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes668() -} - -func (c *current) onLongHandAttributes670() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes670() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes670() -} - -func (c *current) onLongHandAttributes674() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes674() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes674() -} - -func (c *current) onLongHandAttributes681() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes681() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes681() -} - -func (c *current) onLongHandAttributes693() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes693() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes693() -} - -func (c *current) onLongHandAttributes695() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes695() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes695() -} - -func (c *current) onLongHandAttributes688(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes688() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes688(stack["start"]) -} - -func (c *current) onLongHandAttributes677(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes677() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes677(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes703() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes703() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes703() -} - -func (c *current) onLongHandAttributes715() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes715() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes715() -} - -func (c *current) onLongHandAttributes717() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes717() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes717() -} - -func (c *current) onLongHandAttributes710(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes710() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes710(stack["start"]) -} - -func (c *current) onLongHandAttributes699(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes699() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes699(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes725() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes725() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes725() -} - -func (c *current) onLongHandAttributes721(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) callonLongHandAttributes721() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes721(stack["name"]) -} - -func (c *current) onLongHandAttributes735() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes735() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes735() -} - -func (c *current) onLongHandAttributes731(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes731() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes731(stack["name"]) -} - -func (c *current) onLongHandAttributes672(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes672() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes672(stack["element"]) -} - -func (c *current) onLongHandAttributes741() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes741() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes741() -} - -func (c *current) onLongHandAttributes745() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes745() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes745() -} - -func (c *current) onLongHandAttributes747() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes747() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes747() -} - -func (c *current) onLongHandAttributes655(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes655() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes655(stack["elements"]) -} - -func (c *current) onLongHandAttributes649(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes649() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes649(stack["content"]) -} - -func (c *current) onLongHandAttributes761() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes761() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes761() -} - -func (c *current) onLongHandAttributes764() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes764() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes764() -} - -func (c *current) onLongHandAttributes766() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes766() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes766() -} - -func (c *current) onLongHandAttributes768() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes768() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes768() -} - -func (c *current) onLongHandAttributes770() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes770() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes770() -} - -func (c *current) onLongHandAttributes772() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes772() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes772() -} - -func (c *current) onLongHandAttributes776() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes776() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes776() -} - -func (c *current) onLongHandAttributes783() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes783() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes783() -} - -func (c *current) onLongHandAttributes795() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes795() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes795() -} - -func (c *current) onLongHandAttributes797() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes797() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes797() -} - -func (c *current) onLongHandAttributes790(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes790() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes790(stack["start"]) -} - -func (c *current) onLongHandAttributes779(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes779() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes779(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes805() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes805() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes805() -} - -func (c *current) onLongHandAttributes817() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes817() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes817() -} - -func (c *current) onLongHandAttributes819() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes819() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes819() -} - -func (c *current) onLongHandAttributes812(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes812() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes812(stack["start"]) -} - -func (c *current) onLongHandAttributes801(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes801() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes801(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes827() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes827() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes827() -} - -func (c *current) onLongHandAttributes823(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) callonLongHandAttributes823() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes823(stack["name"]) -} - -func (c *current) onLongHandAttributes837() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes837() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes837() -} - -func (c *current) onLongHandAttributes833(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes833() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes833(stack["name"]) -} - -func (c *current) onLongHandAttributes774(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes774() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes774(stack["element"]) -} - -func (c *current) onLongHandAttributes843() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes843() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes843() -} - -func (c *current) onLongHandAttributes848() (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) callonLongHandAttributes848() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes848() -} - -func (c *current) onLongHandAttributes850() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes850() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes850() -} - -func (c *current) onLongHandAttributes757(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes757() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes757(stack["elements"]) -} - -func (c *current) onLongHandAttributes858() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes858() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes858() -} - -func (c *current) onLongHandAttributes751(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes751() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes751(stack["content"]) -} - -func (c *current) onLongHandAttributes866() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes866() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes866() -} - -func (c *current) onLongHandAttributes868() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes868() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes868() -} - -func (c *current) onLongHandAttributes870() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes870() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes870() -} - -func (c *current) onLongHandAttributes872() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes872() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes872() -} - -func (c *current) onLongHandAttributes874() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes874() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes874() -} - -func (c *current) onLongHandAttributes879() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes879() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes879() -} - -func (c *current) onLongHandAttributes886() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes886() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes886() -} - -func (c *current) onLongHandAttributes898() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes898() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes898() -} - -func (c *current) onLongHandAttributes900() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes900() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes900() -} - -func (c *current) onLongHandAttributes893(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes893() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes893(stack["start"]) -} - -func (c *current) onLongHandAttributes882(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes882() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes882(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes908() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes908() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes908() -} - -func (c *current) onLongHandAttributes920() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes920() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes920() -} - -func (c *current) onLongHandAttributes922() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes922() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes922() -} - -func (c *current) onLongHandAttributes915(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes915() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes915(stack["start"]) -} - -func (c *current) onLongHandAttributes904(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes904() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes904(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes930() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes930() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes930() -} - -func (c *current) onLongHandAttributes926(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) callonLongHandAttributes926() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes926(stack["name"]) -} - -func (c *current) onLongHandAttributes940() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes940() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes940() -} - -func (c *current) onLongHandAttributes936(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes936() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes936(stack["name"]) -} - -func (c *current) onLongHandAttributes877(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes877() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes877(stack["element"]) -} - -func (c *current) onLongHandAttributes946() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes946() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes946() -} - -func (c *current) onLongHandAttributes952() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes952() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes952() -} - -func (c *current) onLongHandAttributes861(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes861() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes861(stack["elements"]) -} - -func (c *current) onLongHandAttributes644(option interface{}) (interface{}, error) { - return types.NewOptionAttribute(option) - -} - -func (p *parser) callonLongHandAttributes644() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes644(stack["option"]) -} - -func (c *current) onLongHandAttributes970() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes970() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes970() -} - -func (c *current) onLongHandAttributes973() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes973() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes973() -} - -func (c *current) onLongHandAttributes975() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes975() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes975() -} - -func (c *current) onLongHandAttributes977() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes977() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes977() -} - -func (c *current) onLongHandAttributes979() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes979() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes979() -} - -func (c *current) onLongHandAttributes981() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes981() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes981() -} - -func (c *current) onLongHandAttributes985() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes985() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes985() -} - -func (c *current) onLongHandAttributes992() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes992() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes992() -} - -func (c *current) onLongHandAttributes1004() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1004() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1004() -} - -func (c *current) onLongHandAttributes1006() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1006() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1006() -} - -func (c *current) onLongHandAttributes999(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes999() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes999(stack["start"]) -} - -func (c *current) onLongHandAttributes988(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes988() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes988(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes1014() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1014() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1014() -} - -func (c *current) onLongHandAttributes1026() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1026() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1026() -} - -func (c *current) onLongHandAttributes1028() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1028() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1028() -} - -func (c *current) onLongHandAttributes1021(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes1021() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1021(stack["start"]) -} - -func (c *current) onLongHandAttributes1010(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes1010() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1010(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes1036() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1036() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1036() -} - -func (c *current) onLongHandAttributes1032(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) callonLongHandAttributes1032() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1032(stack["name"]) -} - -func (c *current) onLongHandAttributes1046() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1046() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1046() -} - -func (c *current) onLongHandAttributes1042(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1042() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1042(stack["name"]) -} - -func (c *current) onLongHandAttributes983(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes983() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes983(stack["element"]) -} - -func (c *current) onLongHandAttributes1052() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonLongHandAttributes1052() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1052() -} - -func (c *current) onLongHandAttributes1056() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonLongHandAttributes1056() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1056() -} - -func (c *current) onLongHandAttributes1058() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1058() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1058() -} - -func (c *current) onLongHandAttributes966(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes966() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes966(stack["elements"]) -} - -func (c *current) onLongHandAttributes960(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes960() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes960(stack["content"]) -} - -func (c *current) onLongHandAttributes1072() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1072() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1072() -} - -func (c *current) onLongHandAttributes1075() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1075() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1075() -} - -func (c *current) onLongHandAttributes1077() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes1077() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1077() -} - -func (c *current) onLongHandAttributes1079() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes1079() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1079() -} - -func (c *current) onLongHandAttributes1081() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes1081() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1081() -} - -func (c *current) onLongHandAttributes1083() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes1083() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1083() -} - -func (c *current) onLongHandAttributes1087() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes1087() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1087() -} - -func (c *current) onLongHandAttributes1094() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1094() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1094() -} - -func (c *current) onLongHandAttributes1106() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1106() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1106() -} - -func (c *current) onLongHandAttributes1108() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1108() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1108() -} - -func (c *current) onLongHandAttributes1101(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes1101() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1101(stack["start"]) -} - -func (c *current) onLongHandAttributes1090(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes1090() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1090(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes1116() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1116() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1116() -} - -func (c *current) onLongHandAttributes1128() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1128() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1128() -} - -func (c *current) onLongHandAttributes1130() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1130() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1130() -} - -func (c *current) onLongHandAttributes1123(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes1123() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1123(stack["start"]) -} - -func (c *current) onLongHandAttributes1112(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes1112() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1112(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes1138() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1138() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1138() -} - -func (c *current) onLongHandAttributes1134(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) callonLongHandAttributes1134() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1134(stack["name"]) -} - -func (c *current) onLongHandAttributes1148() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1148() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1148() -} - -func (c *current) onLongHandAttributes1144(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1144() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1144(stack["name"]) -} - -func (c *current) onLongHandAttributes1085(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes1085() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1085(stack["element"]) -} - -func (c *current) onLongHandAttributes1154() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonLongHandAttributes1154() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1154() -} - -func (c *current) onLongHandAttributes1159() (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) callonLongHandAttributes1159() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1159() -} - -func (c *current) onLongHandAttributes1161() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1161() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1161() -} - -func (c *current) onLongHandAttributes1068(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonLongHandAttributes1068() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1068(stack["elements"]) -} - -func (c *current) onLongHandAttributes1169() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1169() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1169() -} - -func (c *current) onLongHandAttributes1062(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonLongHandAttributes1062() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1062(stack["content"]) -} - -func (c *current) onLongHandAttributes1177() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonLongHandAttributes1177() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1177() -} - -func (c *current) onLongHandAttributes1179() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonLongHandAttributes1179() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1179() -} - -func (c *current) onLongHandAttributes1181() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonLongHandAttributes1181() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1181() -} - -func (c *current) onLongHandAttributes1183() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonLongHandAttributes1183() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1183() -} - -func (c *current) onLongHandAttributes1185() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1185() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1185() -} - -func (c *current) onLongHandAttributes1190() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonLongHandAttributes1190() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1190() -} - -func (c *current) onLongHandAttributes1197() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1197() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1197() -} - -func (c *current) onLongHandAttributes1209() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1209() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1209() -} - -func (c *current) onLongHandAttributes1211() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1211() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1211() -} - -func (c *current) onLongHandAttributes1204(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes1204() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1204(stack["start"]) -} - -func (c *current) onLongHandAttributes1193(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonLongHandAttributes1193() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1193(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes1219() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1219() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1219() -} - -func (c *current) onLongHandAttributes1231() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1231() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1231() -} - -func (c *current) onLongHandAttributes1233() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1233() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1233() -} - -func (c *current) onLongHandAttributes1226(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonLongHandAttributes1226() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1226(stack["start"]) -} - -func (c *current) onLongHandAttributes1215(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonLongHandAttributes1215() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1215(stack["name"], stack["start"]) -} - -func (c *current) onLongHandAttributes1241() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1241() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1241() -} - -func (c *current) onLongHandAttributes1237(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) callonLongHandAttributes1237() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1237(stack["name"]) -} - -func (c *current) onLongHandAttributes1251() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1251() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1251() -} - -func (c *current) onLongHandAttributes1247(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1247() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1247(stack["name"]) -} - -func (c *current) onLongHandAttributes1188(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonLongHandAttributes1188() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1188(stack["element"]) -} - -func (c *current) onLongHandAttributes1257() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonLongHandAttributes1257() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1257() -} - -func (c *current) onLongHandAttributes1263() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1263() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1263() -} - -func (c *current) onLongHandAttributes1172(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - -} - -func (p *parser) callonLongHandAttributes1172() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1172(stack["elements"]) -} - -func (c *current) onLongHandAttributes955(role interface{}) (interface{}, error) { - return types.NewRoleAttribute(role) - -} - -func (p *parser) callonLongHandAttributes955() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes955(stack["role"]) -} - -func (c *current) onLongHandAttributes325(extra interface{}) (interface{}, error) { - return extra, nil - -} - -func (p *parser) callonLongHandAttributes325() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes325(stack["extra"]) -} - -func (c *current) onLongHandAttributes1270() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonLongHandAttributes1270() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1270() -} - -func (c *current) onLongHandAttributes1272(main, extras interface{}) (bool, error) { - // make sure there was a match - return main != nil || len(extras.([]interface{})) > 0, nil - -} - -func (p *parser) callonLongHandAttributes1272() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1272(stack["main"], stack["extras"]) -} - -func (c *current) onLongHandAttributes10(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) callonLongHandAttributes10() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes10(stack["main"], stack["extras"]) -} - -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) 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) { - 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) onNamedAttribute4() (interface{}, error) { - return 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) onNamedAttribute13() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonNamedAttribute13() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNamedAttribute13() -} - -func (c *current) onNamedAttribute21() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonNamedAttribute21() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNamedAttribute21() -} - -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) onAttributeValue15() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue15() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue15() -} - -func (c *current) onAttributeValue18() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue18() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue18() -} - -func (c *current) onAttributeValue20() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonAttributeValue20() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue20() -} - -func (c *current) onAttributeValue22() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonAttributeValue22() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue22() -} - -func (c *current) onAttributeValue24() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonAttributeValue24() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue24() -} - -func (c *current) onAttributeValue26() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonAttributeValue26() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue26() -} - -func (c *current) onAttributeValue30() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonAttributeValue30() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue30() -} - -func (c *current) onAttributeValue37() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue37() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue37() -} - -func (c *current) onAttributeValue49() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue49() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue49() -} - -func (c *current) onAttributeValue51() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeValue51() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue51() -} - -func (c *current) onAttributeValue44(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeValue44() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue44(stack["start"]) -} - -func (c *current) onAttributeValue33(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonAttributeValue33() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue33(stack["name"], stack["start"]) -} - -func (c *current) onAttributeValue59() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue59() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue59() -} - -func (c *current) onAttributeValue71() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue71() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue71() -} - -func (c *current) onAttributeValue73() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeValue73() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue73() -} - -func (c *current) onAttributeValue66(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeValue66() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue66(stack["start"]) -} - -func (c *current) onAttributeValue55(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonAttributeValue55() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue55(stack["name"], stack["start"]) -} - -func (c *current) onAttributeValue81() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue81() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue81() -} - -func (c *current) onAttributeValue77(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) callonAttributeValue77() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue77(stack["name"]) -} - -func (c *current) onAttributeValue91() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue91() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue91() -} - -func (c *current) onAttributeValue87(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonAttributeValue87() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue87(stack["name"]) -} - -func (c *current) onAttributeValue28(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonAttributeValue28() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue28(stack["element"]) -} - -func (c *current) onAttributeValue97() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - -} - -func (p *parser) callonAttributeValue97() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue97() -} - -func (c *current) onAttributeValue101() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now - -} - -func (p *parser) callonAttributeValue101() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue101() -} - -func (c *current) onAttributeValue103() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeValue103() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue103() -} - -func (c *current) onAttributeValue11(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonAttributeValue11() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue11(stack["elements"]) -} - -func (c *current) onAttributeValue5(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonAttributeValue5() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue5(stack["content"]) -} - -func (c *current) onAttributeValue117() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue117() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue117() -} - -func (c *current) onAttributeValue120() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue120() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue120() -} - -func (c *current) onAttributeValue122() (interface{}, error) { - return types.NewSymbol("\"`") - -} - -func (p *parser) callonAttributeValue122() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue122() -} - -func (c *current) onAttributeValue124() (interface{}, error) { - return types.NewSymbol("`\"") - -} - -func (p *parser) callonAttributeValue124() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue124() -} - -func (c *current) onAttributeValue126() (interface{}, error) { - return types.NewSymbol("'`") - -} - -func (p *parser) callonAttributeValue126() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue126() -} - -func (c *current) onAttributeValue128() (interface{}, error) { - return types.NewSymbol("`'") - -} - -func (p *parser) callonAttributeValue128() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue128() -} - -func (c *current) onAttributeValue132() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonAttributeValue132() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue132() -} - -func (c *current) onAttributeValue139() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue139() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue139() -} - -func (c *current) onAttributeValue151() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue151() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue151() -} - -func (c *current) onAttributeValue153() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeValue153() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue153() -} - -func (c *current) onAttributeValue146(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeValue146() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue146(stack["start"]) -} - -func (c *current) onAttributeValue135(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonAttributeValue135() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue135(stack["name"], stack["start"]) -} - -func (c *current) onAttributeValue161() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue161() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue161() -} - -func (c *current) onAttributeValue173() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue173() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue173() -} - -func (c *current) onAttributeValue175() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonAttributeValue175() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue175() -} - -func (c *current) onAttributeValue168(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonAttributeValue168() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue168(stack["start"]) -} - -func (c *current) onAttributeValue157(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonAttributeValue157() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue157(stack["name"], stack["start"]) -} - -func (c *current) onAttributeValue183() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue183() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue183() -} - -func (c *current) onAttributeValue179(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) callonAttributeValue179() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue179(stack["name"]) -} - -func (c *current) onAttributeValue193() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue193() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue193() -} - -func (c *current) onAttributeValue189(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonAttributeValue189() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue189(stack["name"]) -} - -func (c *current) onAttributeValue130(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonAttributeValue130() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue130(stack["element"]) -} - -func (c *current) onAttributeValue199() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - -} - -func (p *parser) callonAttributeValue199() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue199() -} - -func (c *current) onAttributeValue204() (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) callonAttributeValue204() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue204() -} - -func (c *current) onAttributeValue206() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonAttributeValue206() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue206() -} - -func (c *current) onAttributeValue113(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil - -} - -func (p *parser) callonAttributeValue113() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue113(stack["elements"]) -} - -func (c *current) onAttributeValue214() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue214() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue214() -} - -func (c *current) onAttributeValue107(content interface{}) (interface{}, error) { - return content, nil - -} - -func (p *parser) callonAttributeValue107() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue107(stack["content"]) -} - -func (c *current) onAttributeValue222() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonAttributeValue222() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onAttributeValue222() -} - -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) 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) onUnquotedAttributeValue15() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - -} - -func (p *parser) callonUnquotedAttributeValue15() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue15() -} - -func (c *current) onUnquotedAttributeValue22() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue22() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue22() -} - -func (c *current) onUnquotedAttributeValue34() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue34() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue34() -} - -func (c *current) onUnquotedAttributeValue36() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonUnquotedAttributeValue36() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue36() -} - -func (c *current) onUnquotedAttributeValue29(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonUnquotedAttributeValue29() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue29(stack["start"]) -} - -func (c *current) onUnquotedAttributeValue18(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) -} - -func (p *parser) callonUnquotedAttributeValue18() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue18(stack["name"], stack["start"]) -} - -func (c *current) onUnquotedAttributeValue44() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue44() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue44() -} - -func (c *current) onUnquotedAttributeValue56() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue56() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue56() -} - -func (c *current) onUnquotedAttributeValue58() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - -} - -func (p *parser) callonUnquotedAttributeValue58() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue58() -} - -func (c *current) onUnquotedAttributeValue51(start interface{}) (interface{}, error) { - return start, nil - -} - -func (p *parser) callonUnquotedAttributeValue51() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue51(stack["start"]) -} - -func (c *current) onUnquotedAttributeValue40(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) -} - -func (p *parser) callonUnquotedAttributeValue40() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue40(stack["name"], stack["start"]) -} - -func (c *current) onUnquotedAttributeValue66() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue66() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue66() -} - -func (c *current) onUnquotedAttributeValue62(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) callonUnquotedAttributeValue62() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue62(stack["name"]) -} - -func (c *current) onUnquotedAttributeValue76() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue76() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue76() -} - -func (c *current) onUnquotedAttributeValue72(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - -} - -func (p *parser) callonUnquotedAttributeValue72() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue72(stack["name"]) -} - -func (c *current) onUnquotedAttributeValue13(element interface{}) (interface{}, error) { - return element, nil - -} - -func (p *parser) callonUnquotedAttributeValue13() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue13(stack["element"]) -} - -func (c *current) onUnquotedAttributeValue83() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue83() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue83() -} - -func (c *current) onUnquotedAttributeValue85() (interface{}, error) { - // not within brackets and stop on space and quotation marks (`"') - return string(c.text), nil - -} - -func (p *parser) callonUnquotedAttributeValue85() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onUnquotedAttributeValue85() -} - -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.NewAttributeReference(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.NewAttributeReference(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) onExternalCrossReference98() (interface{}, error) { - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonExternalCrossReference98() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalCrossReference98() -} - -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) onExternalCrossReference104() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonExternalCrossReference104() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalCrossReference104() -} - -func (c *current) onExternalCrossReference100(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonExternalCrossReference100() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExternalCrossReference100(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) onDocumentHeader12() (interface{}, error) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentHeader12() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader12() -} - -func (c *current) onDocumentHeader16() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonDocumentHeader16() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader16() -} - -func (c *current) onDocumentHeader6(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) - -} - -func (p *parser) callonDocumentHeader6() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader6(stack["content"]) -} - -func (c *current) onDocumentHeader28() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - -} - -func (p *parser) callonDocumentHeader28() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader28() -} - -func (c *current) onDocumentHeader34() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonDocumentHeader34() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader34() -} - -func (c *current) onDocumentHeader37() (interface{}, error) { - // TODO: just use "\n" - 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) onDocumentHeader25(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentHeader25() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader25(stack["delimiter"]) -} - -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) { - - return string(c.text), nil - -} - -func (p *parser) callonDocumentHeader78() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader78() + &labeledExpr{ + pos: position{line: 2874, col: 5, offset: 90646}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2874, col: 14, offset: 90655}, + expr: &choiceExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + run: (*parser).callonFileLocation12, + expr: &oneOrMoreExpr{ + pos: position{line: 2875, col: 9, offset: 90665}, + expr: &charClassMatcher{ + pos: position{line: 2875, col: 10, offset: 90666}, + val: "[^\\r\\n[]�{,;?!>. ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', ',', ';', '?', '!', '>', '.', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 2878, col: 11, offset: 90917}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2801, col: 8, offset: 88554}, + run: (*parser).callonFileLocation16, + expr: &seqExpr{ + pos: position{line: 2801, col: 9, offset: 88555}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2801, col: 9, offset: 88555}, + val: ".", + ignoreCase: false, + want: "\".\"", + }, + &andExpr{ + pos: position{line: 2801, col: 13, offset: 88559}, + expr: ¬Expr{ + pos: position{line: 2801, col: 15, offset: 88561}, + expr: &litMatcher{ + pos: position{line: 2801, col: 16, offset: 88562}, + val: "..", + ignoreCase: false, + want: "\"..\"", + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2878, col: 15, offset: 90921}, + expr: ¬Expr{ + pos: position{line: 2878, col: 17, offset: 90923}, + expr: &choiceExpr{ + pos: position{line: 2878, col: 19, offset: 90925}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFileLocation27, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2879, col: 11, offset: 90949}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 2807, col: 5, offset: 88736}, + run: (*parser).callonFileLocation30, + expr: &choiceExpr{ + pos: position{line: 2808, col: 9, offset: 88746}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 2808, col: 10, offset: 88747}, + val: "[,;?)!/=-]", + chars: []rune{',', ';', '?', ')', '!', '/', '=', '-'}, + ignoreCase: false, + inverted: false, + }, + &seqExpr{ + pos: position{line: 2809, col: 12, offset: 88822}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2809, col: 12, offset: 88822}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &andExpr{ + pos: position{line: 2809, col: 16, offset: 88826}, + expr: &choiceExpr{ + pos: position{line: 2809, col: 18, offset: 88828}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFileLocation37, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2911, col: 12, offset: 91711}, + run: (*parser).callonFileLocation39, + expr: &choiceExpr{ + pos: position{line: 2911, col: 13, offset: 91712}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 2911, col: 13, offset: 91712}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 20, offset: 91719}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 2911, col: 29, offset: 91728}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + }, + }, + }, + }, + }, + &seqExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2811, col: 13, offset: 88897}, + run: (*parser).callonFileLocation47, + }, + &charClassMatcher{ + pos: position{line: 2814, col: 14, offset: 89033}, + val: "[\"\\()]", + chars: []rune{'"', '\'', '(', ')'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2817, col: 13, offset: 89090}, + run: (*parser).callonFileLocation50, + }, + &charClassMatcher{ + pos: position{line: 2820, col: 14, offset: 89179}, + val: "[:@]", + chars: []rune{':', '@'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2823, col: 13, offset: 89224}, + run: (*parser).callonFileLocation53, + }, + &charClassMatcher{ + pos: position{line: 2826, col: 14, offset: 89313}, + val: "[*_`#]", + chars: []rune{'*', '_', '`', '#'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &seqExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2829, col: 13, offset: 89370}, + run: (*parser).callonFileLocation56, + }, + &charClassMatcher{ + pos: position{line: 2832, col: 14, offset: 89526}, + val: "[[]]", + chars: []rune{'[', ']'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &andExpr{ + pos: position{line: 2879, col: 23, offset: 90961}, + expr: ¬Expr{ + pos: position{line: 2879, col: 25, offset: 90963}, + expr: &choiceExpr{ + pos: position{line: 2879, col: 27, offset: 90965}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 2921, col: 8, offset: 91888}, + expr: &anyMatcher{ + line: 2921, col: 9, offset: 91889, + }, + }, + &actionExpr{ + pos: position{line: 2902, col: 10, offset: 91540}, + run: (*parser).callonFileLocation63, + expr: &charClassMatcher{ + pos: position{line: 2902, col: 10, offset: 91540}, + val: "[\\t ]", + chars: []rune{'\t', ' '}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonFileLocation65, + expr: &seqExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 636, col: 5, offset: 20111}, + run: (*parser).callonFileLocation67, + }, + &labeledExpr{ + pos: position{line: 639, col: 5, offset: 20178}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 639, col: 14, offset: 20187}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + run: (*parser).callonFileLocation70, + expr: &seqExpr{ + pos: position{line: 645, col: 5, offset: 20316}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 645, col: 5, offset: 20316}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 645, col: 13, offset: 20324}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileLocation74, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 645, col: 32, offset: 20343}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + run: (*parser).callonFileLocation80, + expr: &seqExpr{ + pos: position{line: 652, col: 5, offset: 20584}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 5, offset: 20584}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 9, offset: 20588}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileLocation84, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 28, offset: 20607}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + run: (*parser).callonFileLocation90, + expr: &seqExpr{ + pos: position{line: 658, col: 25, offset: 20788}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 658, col: 25, offset: 20788}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 658, col: 37, offset: 20800}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileLocation94, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 658, col: 56, offset: 20819}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 658, col: 62, offset: 20825}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonFileLocation101, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonFileLocation106, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonFileLocation108, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 658, col: 78, offset: 20841}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + run: (*parser).callonFileLocation112, + expr: &seqExpr{ + pos: position{line: 662, col: 25, offset: 20959}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 662, col: 25, offset: 20959}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 662, col: 38, offset: 20972}, + label: "name", + expr: &actionExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + run: (*parser).callonFileLocation116, + expr: &seqExpr{ + pos: position{line: 318, col: 18, offset: 9737}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 318, col: 18, offset: 9737}, + val: "[_\\pL\\pN]", + chars: []rune{'_'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 318, col: 28, offset: 9747}, + expr: &charClassMatcher{ + pos: position{line: 318, col: 29, offset: 9748}, + val: "[-\\pL\\pN]", + chars: []rune{'-'}, + classes: []*unicode.RangeTable{rangeTable("L"), rangeTable("N")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 662, col: 57, offset: 20991}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 662, col: 63, offset: 20997}, + expr: &actionExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + run: (*parser).callonFileLocation123, + expr: &seqExpr{ + pos: position{line: 666, col: 17, offset: 21120}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 666, col: 17, offset: 21120}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 666, col: 21, offset: 21124}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 666, col: 28, offset: 21131}, + run: (*parser).callonFileLocation128, + expr: &charClassMatcher{ + pos: position{line: 666, col: 28, offset: 21131}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + run: (*parser).callonFileLocation130, + expr: &oneOrMoreExpr{ + pos: position{line: 668, col: 9, offset: 21185}, + expr: &charClassMatcher{ + pos: position{line: 668, col: 9, offset: 21185}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 662, col: 79, offset: 21013}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2881, col: 11, offset: 91036}, + run: (*parser).callonFileLocation134, + expr: &litMatcher{ + pos: position{line: 2881, col: 11, offset: 91036}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + run: (*parser).callonFileLocation136, + expr: &seqExpr{ + pos: position{line: 1198, col: 23, offset: 36969}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1198, col: 51, offset: 36997}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + run: (*parser).callonFileLocation140, + expr: &oneOrMoreExpr{ + pos: position{line: 1198, col: 56, offset: 37002}, + expr: &charClassMatcher{ + pos: position{line: 1198, col: 56, offset: 37002}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1196, col: 32, offset: 36937}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, } -func (c *current) onDocumentHeader82() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine10() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonDocumentHeader82() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader82() -} - -func (c *current) onDocumentHeader72(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentHeader72() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader72(stack["content"]) -} - -func (c *current) onDocumentHeader46(line interface{}) (interface{}, error) { - return line, nil } -func (p *parser) callonDocumentHeader46() (interface{}, error) { +func (p *parser) callonDocumentRawLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader46(stack["line"]) -} - -func (c *current) onDocumentHeader94() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - + return p.cur.onDocumentRawLine10() } -func (p *parser) callonDocumentHeader94() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader94() -} +func (c *current) onDocumentRawLine17() (interface{}, error) { -func (c *current) onDocumentHeader100() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader100() (interface{}, error) { +func (p *parser) callonDocumentRawLine17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader100() + return p.cur.onDocumentRawLine17() } -func (c *current) onDocumentHeader103() (interface{}, error) { +func (c *current) onDocumentRawLine20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader103() (interface{}, error) { +func (p *parser) callonDocumentRawLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader103() + return p.cur.onDocumentRawLine20() } -func (c *current) onDocumentHeader91(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine6(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader91() (interface{}, error) { +func (p *parser) callonDocumentRawLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader91(stack["delimiter"]) + return p.cur.onDocumentRawLine6(stack["name"]) } -func (c *current) onDocumentHeader23(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onDocumentRawLine31() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader23() (interface{}, error) { +func (p *parser) callonDocumentRawLine31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader23(stack["delimiter"], stack["content"]) + return p.cur.onDocumentRawLine31() } -func (c *current) onDocumentHeader122() (interface{}, error) { +func (c *current) onDocumentRawLine38() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader122() (interface{}, error) { +func (p *parser) callonDocumentRawLine38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader122() + return p.cur.onDocumentRawLine38() } -func (c *current) onDocumentHeader126() (interface{}, error) { +func (c *current) onDocumentRawLine41() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader126() (interface{}, error) { +func (p *parser) callonDocumentRawLine41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader126() + return p.cur.onDocumentRawLine41() } -func (c *current) onDocumentHeader116(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader116() (interface{}, error) { +func (p *parser) callonDocumentRawLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader116(stack["content"]) + return p.cur.onDocumentRawLine27(stack["name"]) } -func (c *current) onDocumentHeader138() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentRawLine53() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader138() (interface{}, error) { +func (p *parser) callonDocumentRawLine53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader138() + return p.cur.onDocumentRawLine53() } -func (c *current) onDocumentHeader144() (interface{}, error) { +func (c *current) onDocumentRawLine59() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader144() (interface{}, error) { +func (p *parser) callonDocumentRawLine59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader144() + return p.cur.onDocumentRawLine59() } -func (c *current) onDocumentHeader147() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine64() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader147() (interface{}, error) { +func (p *parser) callonDocumentRawLine64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader147() + return p.cur.onDocumentRawLine64() } -func (c *current) onDocumentHeader135(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { + return types.NewIfdefCondition(name.(string), attr) } -func (p *parser) callonDocumentHeader135() (interface{}, error) { +func (p *parser) callonDocumentRawLine49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader135(stack["delimiter"]) + return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) } -func (c *current) onDocumentHeader163() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentRawLine72() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader163() (interface{}, error) { +func (p *parser) callonDocumentRawLine72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader163() + return p.cur.onDocumentRawLine72() } -func (c *current) onDocumentHeader169() (interface{}, error) { +func (c *current) onDocumentRawLine78() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader169() (interface{}, error) { +func (p *parser) callonDocumentRawLine78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader169() + return p.cur.onDocumentRawLine78() } -func (c *current) onDocumentHeader172() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine83() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader172() (interface{}, error) { +func (p *parser) callonDocumentRawLine83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader172() + return p.cur.onDocumentRawLine83() } -func (c *current) onDocumentHeader160(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { + return types.NewIfndefCondition(name.(string), attr) } -func (p *parser) callonDocumentHeader160() (interface{}, error) { +func (p *parser) callonDocumentRawLine68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader160(stack["delimiter"]) + return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) } -func (c *current) onDocumentHeader188() (interface{}, error) { - +func (c *current) onDocumentRawLine101() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader188() (interface{}, error) { +func (p *parser) callonDocumentRawLine101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader188() + return p.cur.onDocumentRawLine101() } -func (c *current) onDocumentHeader192() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonDocumentHeader192() (interface{}, error) { +func (p *parser) callonDocumentRawLine97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader192() + return p.cur.onDocumentRawLine97(stack["name"]) } -func (c *current) onDocumentHeader182(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentRawLine111() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader182() (interface{}, error) { +func (p *parser) callonDocumentRawLine111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader182(stack["content"]) + return p.cur.onDocumentRawLine111() } -func (c *current) onDocumentHeader156(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentRawLine107(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader156() (interface{}, error) { +func (p *parser) callonDocumentRawLine107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader156(stack["line"]) + return p.cur.onDocumentRawLine107(stack["name"]) } -func (c *current) onDocumentHeader204() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - +func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentHeader204() (interface{}, error) { +func (p *parser) callonDocumentRawLine92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader204() + return p.cur.onDocumentRawLine92(stack["s"]) } -func (c *current) onDocumentHeader210() (interface{}, error) { +func (c *current) onDocumentRawLine127() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader210() (interface{}, error) { +func (p *parser) callonDocumentRawLine127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader210() + return p.cur.onDocumentRawLine127() } -func (c *current) onDocumentHeader213() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonDocumentHeader213() (interface{}, error) { +func (p *parser) callonDocumentRawLine123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader213() + return p.cur.onDocumentRawLine123(stack["name"]) } -func (c *current) onDocumentHeader201(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine137() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader201() (interface{}, error) { +func (p *parser) callonDocumentRawLine137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader201(stack["delimiter"]) + return p.cur.onDocumentRawLine137() } -func (c *current) onDocumentHeader133(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onDocumentRawLine133(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader133() (interface{}, error) { +func (p *parser) callonDocumentRawLine133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader133(stack["delimiter"], stack["content"]) + return p.cur.onDocumentRawLine133(stack["name"]) } -func (c *current) onDocumentHeader232() (interface{}, error) { - return string(c.text), nil - +func (c *current) onDocumentRawLine118(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentHeader232() (interface{}, error) { +func (p *parser) callonDocumentRawLine118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader232() + return p.cur.onDocumentRawLine118(stack["s"]) } -func (c *current) onDocumentHeader243() (interface{}, error) { - // no space allowed +func (c *current) onDocumentRawLine151() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader243() (interface{}, error) { +func (p *parser) callonDocumentRawLine151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader243() + return p.cur.onDocumentRawLine151() } -func (c *current) onDocumentHeader247() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine147(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader247() (interface{}, error) { +func (p *parser) callonDocumentRawLine147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader247() + return p.cur.onDocumentRawLine147(stack["name"]) } -func (c *current) onDocumentHeader251() (interface{}, error) { - // no space allowed +func (c *current) onDocumentRawLine161() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader251() (interface{}, error) { +func (p *parser) callonDocumentRawLine161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader251() + return p.cur.onDocumentRawLine161() } -func (c *current) onDocumentHeader255() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine157(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader255() (interface{}, error) { +func (p *parser) callonDocumentRawLine157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader255() + return p.cur.onDocumentRawLine157(stack["name"]) } -func (c *current) onDocumentHeader259() (interface{}, error) { - // spaces allowed - return string(c.text), nil - +func (c *current) onDocumentRawLine144(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentHeader259() (interface{}, error) { +func (p *parser) callonDocumentRawLine144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader259() + return p.cur.onDocumentRawLine144(stack["s"]) } -func (c *current) onDocumentHeader263() (interface{}, error) { +func (c *current) onDocumentRawLine171() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeader263() (interface{}, error) { +func (p *parser) callonDocumentRawLine171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader263() + return p.cur.onDocumentRawLine171() } -func (c *current) onDocumentHeader240(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) - +func (c *current) onDocumentRawLine167(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentHeader240() (interface{}, error) { +func (p *parser) callonDocumentRawLine167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader240(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onDocumentRawLine167(stack["w"]) } -func (c *current) onDocumentHeader274() (interface{}, error) { +func (c *current) onDocumentRawLine179() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeader274() (interface{}, error) { +func (p *parser) callonDocumentRawLine179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader274() + return p.cur.onDocumentRawLine179() } -func (c *current) onDocumentHeader267(email interface{}) (interface{}, error) { - return email, nil - +func (c *current) onDocumentRawLine175(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentHeader267() (interface{}, error) { +func (p *parser) callonDocumentRawLine175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader267(stack["email"]) + return p.cur.onDocumentRawLine175(stack["w"]) } -func (c *current) onDocumentHeader279() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine183() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader279() (interface{}, error) { +func (p *parser) callonDocumentRawLine183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader279() + return p.cur.onDocumentRawLine183() } -func (c *current) onDocumentHeader284() (interface{}, error) { +func (c *current) onDocumentRawLine190() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader284() (interface{}, error) { +func (p *parser) callonDocumentRawLine190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader284() + return p.cur.onDocumentRawLine190() } -func (c *current) onDocumentHeader286(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil +func (c *current) onDocumentRawLine194() (interface{}, error) { + return types.NewEqualOperand() } -func (p *parser) callonDocumentHeader286() (bool, error) { +func (p *parser) callonDocumentRawLine194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader286(stack["fullName"], stack["email"]) + return p.cur.onDocumentRawLine194() } -func (c *current) onDocumentHeader236(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onDocumentRawLine196() (interface{}, error) { + return types.NewNotEqualOperand() } -func (p *parser) callonDocumentHeader236() (interface{}, error) { +func (p *parser) callonDocumentRawLine196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader236(stack["fullName"], stack["email"]) + return p.cur.onDocumentRawLine196() } -func (c *current) onDocumentHeader288() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine198() (interface{}, error) { + return types.NewLessThanOperand() + } -func (p *parser) callonDocumentHeader288() (interface{}, error) { +func (p *parser) callonDocumentRawLine198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader288() + return p.cur.onDocumentRawLine198() } -func (c *current) onDocumentHeader229(authors interface{}) (interface{}, error) { - return types.NewDocumentAuthors(authors.([]interface{})...) +func (c *current) onDocumentRawLine200() (interface{}, error) { + return types.NewLessOrEqualOperand() + } -func (p *parser) callonDocumentHeader229() (interface{}, error) { +func (p *parser) callonDocumentRawLine200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader229(stack["authors"]) + return p.cur.onDocumentRawLine200() } -func (c *current) onDocumentHeader303() (interface{}, error) { - - return string(c.text), nil +func (c *current) onDocumentRawLine202() (interface{}, error) { + return types.NewGreaterThanOperand() } -func (p *parser) callonDocumentHeader303() (interface{}, error) { +func (p *parser) callonDocumentRawLine202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader303() + return p.cur.onDocumentRawLine202() } -func (c *current) onDocumentHeader307() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine204() (interface{}, error) { + return types.NewGreaterOrEqualOperand() + } -func (p *parser) callonDocumentHeader307() (interface{}, error) { +func (p *parser) callonDocumentRawLine204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader307() + return p.cur.onDocumentRawLine204() } -func (c *current) onDocumentHeader297(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onDocumentRawLine207() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDocumentHeader297() (interface{}, error) { +func (p *parser) callonDocumentRawLine207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader297(stack["content"]) + return p.cur.onDocumentRawLine207() } -func (c *current) onDocumentHeader319() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentRawLine220() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader319() (interface{}, error) { +func (p *parser) callonDocumentRawLine220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader319() + return p.cur.onDocumentRawLine220() } -func (c *current) onDocumentHeader325() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine216(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader325() (interface{}, error) { +func (p *parser) callonDocumentRawLine216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader325() + return p.cur.onDocumentRawLine216(stack["name"]) } -func (c *current) onDocumentHeader328() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine230() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader328() (interface{}, error) { +func (p *parser) callonDocumentRawLine230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader328() + return p.cur.onDocumentRawLine230() } -func (c *current) onDocumentHeader316(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine226(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader316() (interface{}, error) { +func (p *parser) callonDocumentRawLine226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader316(stack["delimiter"]) + return p.cur.onDocumentRawLine226(stack["name"]) } -func (c *current) onDocumentHeader344() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - +func (c *current) onDocumentRawLine211(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentHeader344() (interface{}, error) { +func (p *parser) callonDocumentRawLine211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader344() + return p.cur.onDocumentRawLine211(stack["s"]) } -func (c *current) onDocumentHeader350() (interface{}, error) { +func (c *current) onDocumentRawLine246() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader350() (interface{}, error) { +func (p *parser) callonDocumentRawLine246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader350() + return p.cur.onDocumentRawLine246() } -func (c *current) onDocumentHeader353() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonDocumentHeader353() (interface{}, error) { +func (p *parser) callonDocumentRawLine242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader353() + return p.cur.onDocumentRawLine242(stack["name"]) } -func (c *current) onDocumentHeader341(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentRawLine256() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader341() (interface{}, error) { +func (p *parser) callonDocumentRawLine256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader341(stack["delimiter"]) + return p.cur.onDocumentRawLine256() } -func (c *current) onDocumentHeader369() (interface{}, error) { +func (c *current) onDocumentRawLine252(name interface{}) (interface{}, error) { - return string(c.text), nil + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader369() (interface{}, error) { +func (p *parser) callonDocumentRawLine252() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader369() + return p.cur.onDocumentRawLine252(stack["name"]) } -func (c *current) onDocumentHeader373() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine237(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentHeader373() (interface{}, error) { +func (p *parser) callonDocumentRawLine237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader373() + return p.cur.onDocumentRawLine237(stack["s"]) } -func (c *current) onDocumentHeader363(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentRawLine270() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader363() (interface{}, error) { +func (p *parser) callonDocumentRawLine270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader363(stack["content"]) + return p.cur.onDocumentRawLine270() } -func (c *current) onDocumentHeader337(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentRawLine266(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader337() (interface{}, error) { +func (p *parser) callonDocumentRawLine266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader337(stack["line"]) + return p.cur.onDocumentRawLine266(stack["name"]) } -func (c *current) onDocumentHeader385() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentRawLine280() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader385() (interface{}, error) { +func (p *parser) callonDocumentRawLine280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader385() + return p.cur.onDocumentRawLine280() } -func (c *current) onDocumentHeader391() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine276(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader391() (interface{}, error) { +func (p *parser) callonDocumentRawLine276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader391() + return p.cur.onDocumentRawLine276(stack["name"]) } -func (c *current) onDocumentHeader394() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentRawLine263(s interface{}) (interface{}, error) { + return s, nil } -func (p *parser) callonDocumentHeader394() (interface{}, error) { +func (p *parser) callonDocumentRawLine263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader394() + return p.cur.onDocumentRawLine263(stack["s"]) } -func (c *current) onDocumentHeader382(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - +func (c *current) onDocumentRawLine290() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader382() (interface{}, error) { +func (p *parser) callonDocumentRawLine290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader382(stack["delimiter"]) + return p.cur.onDocumentRawLine290() } -func (c *current) onDocumentHeader314(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) - +func (c *current) onDocumentRawLine286(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentHeader314() (interface{}, error) { +func (p *parser) callonDocumentRawLine286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader314(stack["delimiter"], stack["content"]) + return p.cur.onDocumentRawLine286(stack["w"]) } -func (c *current) onDocumentHeader408() (interface{}, error) { +func (c *current) onDocumentRawLine298() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeader408() (interface{}, error) { +func (p *parser) callonDocumentRawLine298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader408() + return p.cur.onDocumentRawLine298() } -func (c *current) onDocumentHeader418() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine294(w interface{}) (interface{}, error) { + return w, nil } -func (p *parser) callonDocumentHeader418() (interface{}, error) { +func (p *parser) callonDocumentRawLine294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader418() + return p.cur.onDocumentRawLine294(stack["w"]) } -func (c *current) onDocumentHeader432() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine302() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader432() (interface{}, error) { +func (p *parser) callonDocumentRawLine302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader432() + return p.cur.onDocumentRawLine302() } -func (c *current) onDocumentHeader424() (interface{}, error) { +func (c *current) onDocumentRawLine310() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader424() (interface{}, error) { +func (p *parser) callonDocumentRawLine310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader424() + return p.cur.onDocumentRawLine310() } -func (c *current) onDocumentHeader440() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { + return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) + } -func (p *parser) callonDocumentHeader440() (interface{}, error) { +func (p *parser) callonDocumentRawLine87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader440() + return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) } -func (c *current) onDocumentHeader447() (interface{}, error) { +func (c *current) onDocumentRawLine319() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader447() (interface{}, error) { +func (p *parser) callonDocumentRawLine319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader447() + return p.cur.onDocumentRawLine319() } -func (c *current) onDocumentHeader414(revnumber, revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(revnumber, revdate, revremark) +func (c *current) onDocumentRawLine325() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader414() (interface{}, error) { +func (p *parser) callonDocumentRawLine325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader414(stack["revnumber"], stack["revdate"], stack["revremark"]) + return p.cur.onDocumentRawLine325() } -func (c *current) onDocumentHeader453() (interface{}, error) { +func (c *current) onDocumentRawLine330() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader453() (interface{}, error) { +func (p *parser) callonDocumentRawLine330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader453() + return p.cur.onDocumentRawLine330() } -func (c *current) onDocumentHeader460() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine314(name, attr interface{}) (interface{}, error) { + return types.NewEndOfCondition() // name and attributes are parsed but ignored + } -func (p *parser) callonDocumentHeader460() (interface{}, error) { +func (p *parser) callonDocumentRawLine314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader460() + return p.cur.onDocumentRawLine314(stack["name"], stack["attr"]) } -func (c *current) onDocumentHeader450(revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(nil, revdate, revremark) +func (c *current) onDocumentRawLine343() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentHeader450() (interface{}, error) { +func (p *parser) callonDocumentRawLine343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader450(stack["revdate"], stack["revremark"]) + return p.cur.onDocumentRawLine343() } -func (c *current) onDocumentHeader464() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine349() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader464() (interface{}, error) { +func (p *parser) callonDocumentRawLine349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader464() + return p.cur.onDocumentRawLine349() } -func (c *current) onDocumentHeader405(revision interface{}) (interface{}, error) { - return revision, nil +func (c *current) onDocumentRawLine352() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentHeader405() (interface{}, error) { +func (p *parser) callonDocumentRawLine352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader405(stack["revision"]) + return p.cur.onDocumentRawLine352() } -func (c *current) onDocumentHeader224(authors, revision interface{}) (interface{}, error) { - return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) +func (c *current) onDocumentRawLine340(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader224() (interface{}, error) { +func (p *parser) callonDocumentRawLine340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader224(stack["authors"], stack["revision"]) + return p.cur.onDocumentRawLine340(stack["delimiter"]) } -func (c *current) onDocumentHeader479() (interface{}, error) { +func (c *current) onDocumentRawLine362() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonDocumentHeader479() (interface{}, error) { +func (p *parser) callonDocumentRawLine362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader479() + return p.cur.onDocumentRawLine362() } -func (c *current) onDocumentHeader486() (interface{}, error) { +func (c *current) onDocumentRawLine368() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader486() (interface{}, error) { +func (p *parser) callonDocumentRawLine368() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader486() + return p.cur.onDocumentRawLine368() } -func (c *current) onDocumentHeader489() (interface{}, error) { +func (c *current) onDocumentRawLine371() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader489() (interface{}, error) { +func (p *parser) callonDocumentRawLine371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader489() + return p.cur.onDocumentRawLine371() } -func (c *current) onDocumentHeader475(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentRawLine359(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader475() (interface{}, error) { +func (p *parser) callonDocumentRawLine359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader475(stack["name"]) + return p.cur.onDocumentRawLine359(stack["delimiter"]) } -func (c *current) onDocumentHeader500() (interface{}, error) { +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) callonDocumentHeader500() (interface{}, error) { +func (p *parser) callonDocumentRawLine382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader500() + return p.cur.onDocumentRawLine382() } -func (c *current) onDocumentHeader507() (interface{}, error) { +func (c *current) onDocumentRawLine386() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader507() (interface{}, error) { +func (p *parser) callonDocumentRawLine386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader507() + return p.cur.onDocumentRawLine386() } -func (c *current) onDocumentHeader510() (interface{}, error) { +func (c *current) onDocumentRawLine389() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader510() (interface{}, error) { +func (p *parser) callonDocumentRawLine389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader510() + return p.cur.onDocumentRawLine389() } -func (c *current) onDocumentHeader496(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +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 (p *parser) callonDocumentHeader496() (interface{}, error) { +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.onDocumentHeader496(stack["name"]) + return p.cur.onDocumentRawLine399() } -func (c *current) onDocumentHeader523() (interface{}, error) { +func (c *current) onDocumentRawLine405() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader523() (interface{}, error) { +func (p *parser) callonDocumentRawLine405() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader523() + return p.cur.onDocumentRawLine405() } -func (c *current) onDocumentHeader527() (interface{}, error) { +func (c *current) onDocumentRawLine408() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader527() (interface{}, error) { +func (p *parser) callonDocumentRawLine408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader527() + return p.cur.onDocumentRawLine408() } -func (c *current) onDocumentHeader517(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onDocumentRawLine396(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader517() (interface{}, error) { +func (p *parser) callonDocumentRawLine396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader517(stack["content"]) + return p.cur.onDocumentRawLine396(stack["delimiter"]) } -func (c *current) onDocumentHeader539() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentRawLine418() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonDocumentHeader539() (interface{}, error) { +func (p *parser) callonDocumentRawLine418() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader539() + return p.cur.onDocumentRawLine418() } -func (c *current) onDocumentHeader545() (interface{}, error) { +func (c *current) onDocumentRawLine424() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader545() (interface{}, error) { +func (p *parser) callonDocumentRawLine424() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader545() + return p.cur.onDocumentRawLine424() } -func (c *current) onDocumentHeader548() (interface{}, error) { +func (c *current) onDocumentRawLine427() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader548() (interface{}, error) { +func (p *parser) callonDocumentRawLine427() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader548() + return p.cur.onDocumentRawLine427() } -func (c *current) onDocumentHeader536(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine415(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader536() (interface{}, error) { +func (p *parser) callonDocumentRawLine415() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader536(stack["delimiter"]) + return p.cur.onDocumentRawLine415(stack["delimiter"]) } -func (c *current) onDocumentHeader564() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentRawLine437() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonDocumentHeader564() (interface{}, error) { +func (p *parser) callonDocumentRawLine437() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader564() + return p.cur.onDocumentRawLine437() } -func (c *current) onDocumentHeader570() (interface{}, error) { +func (c *current) onDocumentRawLine443() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader570() (interface{}, error) { +func (p *parser) callonDocumentRawLine443() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader570() + return p.cur.onDocumentRawLine443() } -func (c *current) onDocumentHeader573() (interface{}, error) { +func (c *current) onDocumentRawLine446() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader573() (interface{}, error) { +func (p *parser) callonDocumentRawLine446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader573() + return p.cur.onDocumentRawLine446() } -func (c *current) onDocumentHeader561(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine434(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader561() (interface{}, error) { +func (p *parser) callonDocumentRawLine434() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader561(stack["delimiter"]) + return p.cur.onDocumentRawLine434(stack["delimiter"]) } -func (c *current) onDocumentHeader589() (interface{}, error) { - +func (c *current) onDocumentRawLine456() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonDocumentHeader589() (interface{}, error) { +func (p *parser) callonDocumentRawLine456() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader589() + return p.cur.onDocumentRawLine456() } -func (c *current) onDocumentHeader593() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentRawLine462() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentHeader593() (interface{}, error) { +func (p *parser) callonDocumentRawLine462() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader593() + return p.cur.onDocumentRawLine462() } -func (c *current) onDocumentHeader583(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onDocumentRawLine465() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentHeader583() (interface{}, error) { +func (p *parser) callonDocumentRawLine465() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader583(stack["content"]) + return p.cur.onDocumentRawLine465() } -func (c *current) onDocumentHeader557(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentRawLine453(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader557() (interface{}, error) { +func (p *parser) callonDocumentRawLine453() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader557(stack["line"]) + return p.cur.onDocumentRawLine453(stack["delimiter"]) } -func (c *current) onDocumentHeader605() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentRawLine475() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil } -func (p *parser) callonDocumentHeader605() (interface{}, error) { +func (p *parser) callonDocumentRawLine475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader605() + return p.cur.onDocumentRawLine475() } -func (c *current) onDocumentHeader611() (interface{}, error) { +func (c *current) onDocumentRawLine481() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader611() (interface{}, error) { +func (p *parser) callonDocumentRawLine481() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader611() + return p.cur.onDocumentRawLine481() } -func (c *current) onDocumentHeader614() (interface{}, error) { +func (c *current) onDocumentRawLine484() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeader614() (interface{}, error) { +func (p *parser) callonDocumentRawLine484() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader614() + return p.cur.onDocumentRawLine484() } -func (c *current) onDocumentHeader602(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentRawLine472(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentHeader602() (interface{}, error) { +func (p *parser) callonDocumentRawLine472() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader602(stack["delimiter"]) + return p.cur.onDocumentRawLine472(stack["delimiter"]) } -func (c *current) onDocumentHeader534(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onDocumentRawLine494() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentHeader534() (interface{}, error) { +func (p *parser) callonDocumentRawLine494() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader534(stack["delimiter"], stack["content"]) -} - -func (c *current) onDocumentHeader1(title, authorsAndRevision, extraElements interface{}) (interface{}, error) { - return types.NewDocumentHeader(title.([]interface{}), authorsAndRevision, extraElements.([]interface{})) - + return p.cur.onDocumentRawLine494() } -func (p *parser) callonDocumentHeader1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader1(stack["title"], stack["authorsAndRevision"], stack["extraElements"]) -} +func (c *current) onDocumentRawLine500() (interface{}, error) { -func (c *current) onDocumentTitle4() (interface{}, error) { - // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDocumentTitle4() (interface{}, error) { +func (p *parser) callonDocumentRawLine500() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentTitle4() + return p.cur.onDocumentRawLine500() } -func (c *current) onDocumentTitle10() (interface{}, error) { +func (c *current) onDocumentRawLine503() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentTitle10() (interface{}, error) { +func (p *parser) callonDocumentRawLine503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentTitle10() + return p.cur.onDocumentRawLine503() } -func (c *current) onDocumentTitle1(title interface{}) (interface{}, error) { - return title, nil +func (c *current) onDocumentRawLine491(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentTitle1() (interface{}, error) { +func (p *parser) callonDocumentRawLine491() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentTitle1(stack["title"]) + return p.cur.onDocumentRawLine491(stack["delimiter"]) } -func (c *current) onDocumentAuthorFullName4() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onDocumentRawLine334(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonDocumentAuthorFullName4() (interface{}, error) { +func (p *parser) callonDocumentRawLine334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName4() + return p.cur.onDocumentRawLine334(stack["delimiter"]) } -func (c *current) onDocumentAuthorFullName8() (interface{}, error) { - return string(c.text), nil +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) callonDocumentAuthorFullName8() (interface{}, error) { +func (p *parser) callonDocumentRawLine512() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName8() + return p.cur.onDocumentRawLine512() } -func (c *current) onDocumentAuthorFullName12() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onDocumentRawLine513() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil } -func (p *parser) callonDocumentAuthorFullName12() (interface{}, error) { +func (p *parser) callonDocumentRawLine513() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName12() + return p.cur.onDocumentRawLine513() } -func (c *current) onDocumentAuthorFullName16() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine515() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil } -func (p *parser) callonDocumentAuthorFullName16() (interface{}, error) { +func (p *parser) callonDocumentRawLine515() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName16() + return p.cur.onDocumentRawLine515() } -func (c *current) onDocumentAuthorFullName20() (interface{}, error) { - // spaces allowed - return string(c.text), nil +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) callonDocumentAuthorFullName20() (interface{}, error) { +func (p *parser) callonDocumentRawLine518() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName20() + return p.cur.onDocumentRawLine518(stack["level"]) } -func (c *current) onDocumentAuthorFullName24() (interface{}, error) { +func (c *current) onDocumentRawLine519(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDocumentAuthorFullName24() (interface{}, error) { +func (p *parser) callonDocumentRawLine519() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentAuthorFullName24() -} - -func (c *current) onDocumentAuthorFullName1(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) - + return p.cur.onDocumentRawLine519(stack["level"]) } -func (p *parser) callonDocumentAuthorFullName1() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentAuthorFullName1(stack["part1"], stack["part2"], stack["part3"]) -} +func (c *current) onDocumentRawLine522(level interface{}) (interface{}, error) { -func (c *current) onInlineElement4() (interface{}, error) { - // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonInlineElement4() (interface{}, error) { +func (p *parser) callonDocumentRawLine522() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement4() + return p.cur.onDocumentRawLine522(stack["level"]) } -func (c *current) onInlineElement14() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentRawLine510(level interface{}) (interface{}, error) { + return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content } -func (p *parser) callonInlineElement14() (interface{}, error) { +func (p *parser) callonDocumentRawLine510() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement14() + return p.cur.onDocumentRawLine510(stack["level"]) } -func (c *current) onInlineElement17() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonInlineElement17() (interface{}, error) { +func (p *parser) callonDocumentRawLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement17() + return p.cur.onDocumentRawLine1(stack["element"]) } -func (c *current) onInlineElement7() (interface{}, error) { +func (c *current) onFileInclusion19() (interface{}, error) { + // excluding 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) callonInlineElement7() (interface{}, error) { +func (p *parser) callonFileInclusion19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement7() + return p.cur.onFileInclusion19() } -func (c *current) onInlineElement27() (bool, error) { - - return c.isSubstitutionEnabled(PostReplacements), nil +func (c *current) onFileInclusion23() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonInlineElement27() (bool, error) { +func (p *parser) callonFileInclusion23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement27() + return p.cur.onFileInclusion23() } -func (c *current) onInlineElement29() (bool, error) { +func (c *current) onFileInclusion34() (interface{}, error) { - log.Debug("LineBreak") - return c.isPrecededBySpace(), nil + return string(c.text), nil } -func (p *parser) callonInlineElement29() (bool, error) { +func (p *parser) callonFileInclusion34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement29() + return p.cur.onFileInclusion34() } -func (c *current) onInlineElement31() (interface{}, error) { +func (c *current) onFileInclusion44() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement31() (interface{}, error) { +func (p *parser) callonFileInclusion44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement31() + return p.cur.onFileInclusion44() } -func (c *current) onInlineElement35() (interface{}, error) { +func (c *current) onFileInclusion46() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonInlineElement35() (interface{}, error) { +func (p *parser) callonFileInclusion46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement35() + return p.cur.onFileInclusion46() } -func (c *current) onInlineElement25() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onFileInclusion54() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonInlineElement25() (interface{}, error) { +func (p *parser) callonFileInclusion54() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement25() + return p.cur.onFileInclusion54() } -func (c *current) onInlineElement46() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onFileInclusion57() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonInlineElement46() (interface{}, error) { +func (p *parser) callonFileInclusion57() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement46() + return p.cur.onFileInclusion57() } -func (c *current) onInlineElement48() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onFileInclusion60() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonInlineElement48() (interface{}, error) { +func (p *parser) callonFileInclusion60() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement48() + return p.cur.onFileInclusion60() } -func (c *current) onInlineElement50() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onFileInclusion63() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonInlineElement50() (interface{}, error) { +func (p *parser) callonFileInclusion63() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement50() + return p.cur.onFileInclusion63() } -func (c *current) onInlineElement52() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onFileInclusion37() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil } -func (p *parser) callonInlineElement52() (interface{}, error) { +func (p *parser) callonFileInclusion37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement52() + return p.cur.onFileInclusion37() } -func (c *current) onInlineElement54() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onFileInclusion70() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonInlineElement54() (interface{}, error) { +func (p *parser) callonFileInclusion70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement54() + return p.cur.onFileInclusion70() } -func (c *current) onInlineElement56() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onFileInclusion74() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonInlineElement56() (interface{}, error) { +func (p *parser) callonFileInclusion74() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement56() + return p.cur.onFileInclusion74() } -func (c *current) onInlineElement58() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onFileInclusion81() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement58() (interface{}, error) { +func (p *parser) callonFileInclusion81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement58() + return p.cur.onFileInclusion81() } -func (c *current) onInlineElement60() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onFileInclusion77(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) callonInlineElement60() (interface{}, error) { +func (p *parser) callonFileInclusion77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement60() + return p.cur.onFileInclusion77(stack["name"]) } -func (c *current) onInlineElement62() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onFileInclusion91() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement62() (interface{}, error) { +func (p *parser) callonFileInclusion91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement62() + return p.cur.onFileInclusion91() } -func (c *current) onInlineElement67() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onFileInclusion87(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonInlineElement67() (bool, error) { +func (p *parser) callonFileInclusion87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement67() + return p.cur.onFileInclusion87(stack["name"]) } -func (c *current) onInlineElement69() (interface{}, error) { +func (c *current) onFileInclusion101() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement69() (interface{}, error) { +func (p *parser) callonFileInclusion101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement69() + return p.cur.onFileInclusion101() } -func (c *current) onInlineElement73() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onFileInclusion113() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonInlineElement73() (interface{}, error) { +func (p *parser) callonFileInclusion113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement73() + return p.cur.onFileInclusion113() } -func (c *current) onInlineElement64() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onFileInclusion115() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement64() (interface{}, error) { +func (p *parser) callonFileInclusion115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement64() + return p.cur.onFileInclusion115() } -func (c *current) onInlineElement83() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onFileInclusion108(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineElement83() (bool, error) { +func (p *parser) callonFileInclusion108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement83() + return p.cur.onFileInclusion108(stack["start"]) } -func (c *current) onInlineElement87() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFileInclusion97(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineElement87() (interface{}, error) { +func (p *parser) callonFileInclusion97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement87() + return p.cur.onFileInclusion97(stack["name"], stack["start"]) } -func (c *current) onInlineElement80() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onFileInclusion123() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement80() (interface{}, error) { +func (p *parser) callonFileInclusion123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement80() + return p.cur.onFileInclusion123() } -func (c *current) onInlineElement94() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onFileInclusion135() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement94() (interface{}, error) { +func (p *parser) callonFileInclusion135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement94() + return p.cur.onFileInclusion135() } -func (c *current) onInlineElement96() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onFileInclusion137() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement96() (interface{}, error) { +func (p *parser) callonFileInclusion137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement96() + return p.cur.onFileInclusion137() } -func (c *current) onInlineElement98() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onFileInclusion130(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineElement98() (interface{}, error) { +func (p *parser) callonFileInclusion130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement98() + return p.cur.onFileInclusion130(stack["start"]) } -func (c *current) onInlineElement42() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onFileInclusion119(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonInlineElement42() (interface{}, error) { +func (p *parser) callonFileInclusion119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement42() + return p.cur.onFileInclusion119(stack["name"], stack["start"]) } -func (c *current) onInlineElement100() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onFileInclusion72(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonInlineElement100() (interface{}, error) { +func (p *parser) callonFileInclusion72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement100() + return p.cur.onFileInclusion72(stack["element"]) } -func (c *current) onInlineElement102() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onFileInclusion141() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement102() (interface{}, error) { +func (p *parser) callonFileInclusion141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement102() + return p.cur.onFileInclusion141() } -func (c *current) onInlineElement104() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonInlineElement104() (interface{}, error) { +func (p *parser) callonFileInclusion12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement104() + return p.cur.onFileInclusion12(stack["elements"]) } -func (c *current) onInlineElement106() (interface{}, error) { - return types.NewSymbol("`'") - +func (c *current) onFileInclusion147() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement106() (interface{}, error) { +func (p *parser) callonFileInclusion147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement106() + return p.cur.onFileInclusion147() } -func (c *current) onInlineElement108() (interface{}, error) { - return types.NewSymbol("(C)") - +func (c *current) onFileInclusion143(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonInlineElement108() (interface{}, error) { +func (p *parser) callonFileInclusion143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement108() + return p.cur.onFileInclusion143(stack["ref"]) } -func (c *current) onInlineElement110() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonInlineElement110() (interface{}, error) { +func (p *parser) callonFileInclusion8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement110() + return p.cur.onFileInclusion8(stack["path"]) } -func (c *current) onInlineElement112() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { + + return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) } -func (p *parser) callonInlineElement112() (interface{}, error) { +func (p *parser) callonFileInclusion4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement112() + return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) } -func (c *current) onInlineElement114() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onFileInclusion154() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonInlineElement114() (interface{}, error) { +func (p *parser) callonFileInclusion154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement114() + return p.cur.onFileInclusion154() } -func (c *current) onInlineElement119() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil - +func (c *current) onFileInclusion157() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement119() (bool, error) { +func (p *parser) callonFileInclusion157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement119() + return p.cur.onFileInclusion157() } -func (c *current) onInlineElement121() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { + return incl.(*types.FileInclusion), nil } -func (p *parser) callonInlineElement121() (interface{}, error) { +func (p *parser) callonFileInclusion1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement121() + return p.cur.onFileInclusion1(stack["incl"]) } -func (c *current) onInlineElement125() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges12() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonInlineElement125() (interface{}, error) { +func (p *parser) callonLineRanges12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement125() + return p.cur.onLineRanges12() } -func (c *current) onInlineElement116() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onLineRanges20() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement116() (interface{}, error) { +func (p *parser) callonLineRanges20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement116() + return p.cur.onLineRanges20() } -func (c *current) onInlineElement135() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonInlineElement135() (bool, error) { +func (p *parser) callonLineRanges9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement135() + return p.cur.onLineRanges9(stack["start"], stack["end"]) } -func (c *current) onInlineElement139() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLineRanges28() (interface{}, error) { + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonInlineElement139() (interface{}, error) { +func (p *parser) callonLineRanges28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement139() + return p.cur.onLineRanges28() } -func (c *current) onInlineElement132() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonInlineElement132() (interface{}, error) { +func (p *parser) callonLineRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement132() + return p.cur.onLineRanges26(stack["singleline"]) } -func (c *current) onInlineElement146() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onLineRanges44() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement146() (interface{}, error) { +func (p *parser) callonLineRanges44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement146() + return p.cur.onLineRanges44() } -func (c *current) onInlineElement148() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onLineRanges52() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement148() (interface{}, error) { +func (p *parser) callonLineRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement148() + return p.cur.onLineRanges52() } -func (c *current) onInlineElement150() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonInlineElement150() (interface{}, error) { +func (p *parser) callonLineRanges41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement150() + return p.cur.onLineRanges41(stack["start"], stack["end"]) } -func (c *current) onInlineElement152() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onLineRanges60() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement152() (interface{}, error) { +func (p *parser) callonLineRanges60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement152() + return p.cur.onLineRanges60() } -func (c *current) onInlineElement154() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonInlineElement154() (interface{}, error) { +func (p *parser) callonLineRanges58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement154() + return p.cur.onLineRanges58(stack["singleline"]) } -func (c *current) onInlineElement161() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onLineRanges36(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonInlineElement161() (bool, error) { +func (p *parser) callonLineRanges36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement161() + return p.cur.onLineRanges36(stack["other"]) } -func (c *current) onInlineElement159() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonInlineElement159() (interface{}, error) { +func (p *parser) callonLineRanges5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement159() + return p.cur.onLineRanges5(stack["first"], stack["others"]) } -func (c *current) onInlineElement168() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onLineRanges69() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement168() (bool, error) { +func (p *parser) callonLineRanges69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement168() + return p.cur.onLineRanges69() } -func (c *current) onInlineElement175() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges77() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement175() (interface{}, error) { +func (p *parser) callonLineRanges77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement175() + return p.cur.onLineRanges77() } -func (c *current) onInlineElement187() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonInlineElement187() (interface{}, error) { +func (p *parser) callonLineRanges66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement187() + return p.cur.onLineRanges66(stack["start"], stack["end"]) } -func (c *current) onInlineElement189() (interface{}, error) { - +func (c *current) onLineRanges85() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement189() (interface{}, error) { +func (p *parser) callonLineRanges85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement189() + return p.cur.onLineRanges85() } -func (c *current) onInlineElement182(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonInlineElement182() (interface{}, error) { +func (p *parser) callonLineRanges83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement182(stack["start"]) + return p.cur.onLineRanges83(stack["singleline"]) } -func (c *current) onInlineElement171(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onLineRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil + } -func (p *parser) callonInlineElement171() (interface{}, error) { +func (p *parser) callonLineRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement171(stack["name"], stack["start"]) + return p.cur.onLineRanges1(stack["value"]) } -func (c *current) onInlineElement197() (interface{}, error) { +func (c *current) onTagRanges11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement197() (interface{}, error) { +func (p *parser) callonTagRanges11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement197() + return p.cur.onTagRanges11() } -func (c *current) onInlineElement209() (interface{}, error) { +func (c *current) onTagRanges17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement209() (interface{}, error) { +func (p *parser) callonTagRanges17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement209() + return p.cur.onTagRanges17() } -func (c *current) onInlineElement211() (interface{}, error) { +func (c *current) onTagRanges20(stars interface{}) (bool, error) { - return strconv.Atoi(string(c.text)) + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonInlineElement211() (interface{}, error) { +func (p *parser) callonTagRanges20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement211() + return p.cur.onTagRanges20(stack["stars"]) } -func (c *current) onInlineElement204(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonInlineElement204() (interface{}, error) { +func (p *parser) callonTagRanges14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement204(stack["start"]) + return p.cur.onTagRanges14(stack["stars"]) } -func (c *current) onInlineElement193(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) + } -func (p *parser) callonInlineElement193() (interface{}, error) { +func (p *parser) callonTagRanges8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement193(stack["name"], stack["start"]) + return p.cur.onTagRanges8(stack["tag"]) } -func (c *current) onInlineElement219() (interface{}, error) { +func (c *current) onTagRanges26() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement219() (interface{}, error) { +func (p *parser) callonTagRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement219() + return p.cur.onTagRanges26() } -func (c *current) onInlineElement215(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) onTagRanges32() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement215() (interface{}, error) { +func (p *parser) callonTagRanges32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement215(stack["name"]) + return p.cur.onTagRanges32() } -func (c *current) onInlineElement229() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges35(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonInlineElement229() (interface{}, error) { +func (p *parser) callonTagRanges35() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement229() + return p.cur.onTagRanges35(stack["stars"]) } -func (c *current) onInlineElement225(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonInlineElement225() (interface{}, error) { +func (p *parser) callonTagRanges29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement225(stack["name"]) + return p.cur.onTagRanges29(stack["stars"]) } -func (c *current) onInlineElement166(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonInlineElement166() (interface{}, error) { +func (p *parser) callonTagRanges21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement166(stack["element"]) + return p.cur.onTagRanges21(stack["tag"]) } -func (c *current) onInlineElement237() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onTagRanges46() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement237() (bool, error) { +func (p *parser) callonTagRanges46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement237() + return p.cur.onTagRanges46() } -func (c *current) onInlineElement246() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onTagRanges52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement246() (interface{}, error) { +func (p *parser) callonTagRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement246() + return p.cur.onTagRanges52() } -func (c *current) onInlineElement250() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges55(stars interface{}) (bool, error) { + + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonInlineElement250() (interface{}, error) { +func (p *parser) callonTagRanges55() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement250() + return p.cur.onTagRanges55(stack["stars"]) } -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 (c *current) onTagRanges49(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonInlineElement256() (interface{}, error) { +func (p *parser) callonTagRanges49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement256() + return p.cur.onTagRanges49(stack["stars"]) } -func (c *current) onInlineElement265() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonInlineElement265() (interface{}, error) { +func (p *parser) callonTagRanges43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement265() + return p.cur.onTagRanges43(stack["tag"]) } -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 (c *current) onTagRanges61() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement261() (interface{}, error) { +func (p *parser) callonTagRanges61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement261(stack["name"]) + return p.cur.onTagRanges61() } -func (c *current) onInlineElement275() (interface{}, error) { +func (c *current) onTagRanges67() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement275() (interface{}, error) { +func (p *parser) callonTagRanges67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement275() + return p.cur.onTagRanges67() } -func (c *current) onInlineElement271(name interface{}) (interface{}, error) { +func (c *current) onTagRanges70(stars interface{}) (bool, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + // use a predicate to make sure that only `*` and `**` are allowed + return len(stars.(string)) <= 2, nil } -func (p *parser) callonInlineElement271() (interface{}, error) { +func (p *parser) callonTagRanges70() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement271(stack["name"]) + return p.cur.onTagRanges70(stack["stars"]) +} + +func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { + return stars, nil + } -func (c *current) onInlineElement281() (interface{}, error) { +func (p *parser) callonTagRanges64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onTagRanges64(stack["stars"]) +} - return types.NewStringElement(string(c.text)) +func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonInlineElement281() (interface{}, error) { +func (p *parser) callonTagRanges56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement281() + return p.cur.onTagRanges56(stack["tag"]) } -func (c *current) onInlineElement242(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onTagRanges38(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonInlineElement242() (interface{}, error) { +func (p *parser) callonTagRanges38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement242(stack["id"], stack["label"]) + return p.cur.onTagRanges38(stack["other"]) } -func (c *current) onInlineElement288() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonInlineElement288() (interface{}, error) { +func (p *parser) callonTagRanges4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement288() + return p.cur.onTagRanges4(stack["first"], stack["others"]) } -func (c *current) onInlineElement284(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onTagRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil } -func (p *parser) callonInlineElement284() (interface{}, error) { +func (p *parser) callonTagRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement284(stack["id"]) + return p.cur.onTagRanges1(stack["value"]) } -func (c *current) onInlineElement240() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onIncludedFileLine11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement240() (interface{}, error) { +func (p *parser) callonIncludedFileLine11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement240() + return p.cur.onIncludedFileLine11() } -func (c *current) onInlineElement292() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) - +func (c *current) onIncludedFileLine10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement292() (interface{}, error) { +func (p *parser) callonIncludedFileLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement292() + return p.cur.onIncludedFileLine10() } -func (c *current) onInlineElement235(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { + return types.NewIncludedFileStartTag(tag.(string)) } -func (p *parser) callonInlineElement235() (interface{}, error) { +func (p *parser) callonIncludedFileLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement235(stack["element"]) + return p.cur.onIncludedFileLine6(stack["tag"]) } -func (c *current) onInlineElement294() (interface{}, error) { - +func (c *current) onIncludedFileLine20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement294() (interface{}, error) { +func (p *parser) callonIncludedFileLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement294() + return p.cur.onIncludedFileLine20() } -func (c *current) onInlineElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil +func (c *current) onIncludedFileLine19() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement1() (interface{}, error) { +func (p *parser) callonIncludedFileLine19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement1(stack["element"]) + return p.cur.onIncludedFileLine19() } -func (c *current) onInlineButton3() (bool, error) { - return c.isExperimentalEnabled(), nil +func (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { + return types.NewIncludedFileEndTag(tag.(string)) } -func (p *parser) callonInlineButton3() (bool, error) { +func (p *parser) callonIncludedFileLine15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton3() + return p.cur.onIncludedFileLine15(stack["tag"]) } -func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { - return types.NewInlineButton(attributes.(types.Attributes)) - +func (c *current) onIncludedFileLine24() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineButton1() (interface{}, error) { +func (p *parser) callonIncludedFileLine24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton1(stack["attributes"]) + return p.cur.onIncludedFileLine24() } -func (c *current) onInlineMenu3() (bool, error) { - return c.isExperimentalEnabled(), nil - +func (c *current) onIncludedFileLine27() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineMenu3() (bool, error) { +func (p *parser) callonIncludedFileLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu3() + return p.cur.onIncludedFileLine27() } -func (c *current) onInlineMenu6() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { + return types.NewIncludedFileLine(content.([]interface{})) } -func (p *parser) callonInlineMenu6() (interface{}, error) { +func (p *parser) callonIncludedFileLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu6() + return p.cur.onIncludedFileLine1(stack["content"]) } -func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { - return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) +func (c *current) onDocumentFragment8(attributes interface{}) error { + if attributes, ok := attributes.(types.Attributes); ok { + c.storeBlockAttributes(attributes) + } + return nil } -func (p *parser) callonInlineMenu1() (interface{}, error) { +func (p *parser) callonDocumentFragment8() error { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) + return p.cur.onDocumentFragment8(stack["attributes"]) } -func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { - return types.NewIndexTerm(term.([]interface{})) +func (c *current) onDocumentFragment20() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTerm1() (interface{}, error) { +func (p *parser) callonDocumentFragment20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTerm1(stack["term"]) + return p.cur.onDocumentFragment20() } -func (c *current) onIndexTermContent12() (interface{}, error) { +func (c *current) onDocumentFragment27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent12() (interface{}, error) { +func (p *parser) callonDocumentFragment27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent12() + return p.cur.onDocumentFragment27() } -func (c *current) onIndexTermContent15() (interface{}, error) { +func (c *current) onDocumentFragment30() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIndexTermContent15() (interface{}, error) { +func (p *parser) callonDocumentFragment30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent15() + return p.cur.onDocumentFragment30() } -func (c *current) onIndexTermContent5() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment16(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonIndexTermContent5() (interface{}, error) { +func (p *parser) callonDocumentFragment16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent5() + return p.cur.onDocumentFragment16(stack["name"]) } -func (c *current) onIndexTermContent23() (interface{}, error) { +func (c *current) onDocumentFragment41() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent23() (interface{}, error) { +func (p *parser) callonDocumentFragment41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent23() + return p.cur.onDocumentFragment41() } -func (c *current) onIndexTermContent27() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDocumentFragment48() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonIndexTermContent27() (bool, error) { +func (p *parser) callonDocumentFragment48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent27() + return p.cur.onDocumentFragment48() } -func (c *current) onIndexTermContent36() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment51() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent36() (interface{}, error) { +func (p *parser) callonDocumentFragment51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent36() + return p.cur.onDocumentFragment51() } -func (c *current) onIndexTermContent40() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment37(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonIndexTermContent40() (interface{}, error) { +func (p *parser) callonDocumentFragment37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent40() + return p.cur.onDocumentFragment37(stack["name"]) } -func (c *current) onIndexTermContent46() (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) onDocumentFragment63() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonIndexTermContent46() (interface{}, error) { +func (p *parser) callonDocumentFragment63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent46() + return p.cur.onDocumentFragment63() } -func (c *current) onIndexTermContent55() (interface{}, error) { +func (c *current) onDocumentFragment66() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonIndexTermContent55() (interface{}, error) { +func (p *parser) callonDocumentFragment66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent55() + return p.cur.onDocumentFragment66() } -func (c *current) onIndexTermContent51(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) onDocumentFragment58() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonIndexTermContent51() (interface{}, error) { +func (p *parser) callonDocumentFragment58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent51(stack["name"]) + return p.cur.onDocumentFragment58() } -func (c *current) onIndexTermContent65() (interface{}, error) { +func (c *current) onDocumentFragment80() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonIndexTermContent65() (interface{}, error) { +func (p *parser) callonDocumentFragment80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent65() + return p.cur.onDocumentFragment80() } -func (c *current) onIndexTermContent61(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment86() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonIndexTermContent61() (interface{}, error) { +func (p *parser) callonDocumentFragment86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent61(stack["name"]) + return p.cur.onDocumentFragment86() } -func (c *current) onIndexTermContent71() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment89() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTermContent71() (interface{}, error) { +func (p *parser) callonDocumentFragment89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent71() + return p.cur.onDocumentFragment89() } -func (c *current) onIndexTermContent32(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentFragment77(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonIndexTermContent32() (interface{}, error) { +func (p *parser) callonDocumentFragment77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent32(stack["id"], stack["label"]) + return p.cur.onDocumentFragment77(stack["delimiter"]) } -func (c *current) onIndexTermContent78() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment105() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonIndexTermContent78() (interface{}, error) { +func (p *parser) callonDocumentFragment105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent78() + return p.cur.onDocumentFragment105() } -func (c *current) onIndexTermContent74(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onDocumentFragment111() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonIndexTermContent74() (interface{}, error) { +func (p *parser) callonDocumentFragment111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent74(stack["id"]) + return p.cur.onDocumentFragment111() } -func (c *current) onIndexTermContent30() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentFragment114() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonIndexTermContent30() (interface{}, error) { +func (p *parser) callonDocumentFragment114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent30() + return p.cur.onDocumentFragment114() } -func (c *current) onIndexTermContent82() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentFragment102(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonIndexTermContent82() (interface{}, error) { +func (p *parser) callonDocumentFragment102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent82() + return p.cur.onDocumentFragment102(stack["delimiter"]) } -func (c *current) onIndexTermContent25(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment129() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonIndexTermContent25() (interface{}, error) { +func (p *parser) callonDocumentFragment129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent25(stack["element"]) + return p.cur.onDocumentFragment129() } -func (c *current) onIndexTermContent88() (interface{}, error) { +func (c *current) onDocumentFragment133() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIndexTermContent88() (interface{}, error) { +func (p *parser) callonDocumentFragment133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent88() + return p.cur.onDocumentFragment133() } -func (c *current) onIndexTermContent84(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} +func (c *current) onDocumentFragment124(content interface{}) (interface{}, error) { -func (p *parser) callonIndexTermContent84() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onIndexTermContent84(stack["ref"]) -} + return types.NewRawLine(content.(string)) -func (c *current) onIndexTermContent92() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonIndexTermContent92() (interface{}, error) { +func (p *parser) callonDocumentFragment124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent92() + return p.cur.onDocumentFragment124(stack["content"]) } -func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment98(line interface{}) (interface{}, error) { + return line, nil + } -func (p *parser) callonIndexTermContent1() (interface{}, error) { +func (p *parser) callonDocumentFragment98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent1(stack["elements"]) + return p.cur.onDocumentFragment98(stack["line"]) } -func (c *current) onImageBlock9() (interface{}, error) { +func (c *current) onDocumentFragment145() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil + } -func (p *parser) callonImageBlock9() (interface{}, error) { +func (p *parser) callonDocumentFragment145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock9() + return p.cur.onDocumentFragment145() } -func (c *current) onImageBlock26() (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) onDocumentFragment151() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonImageBlock26() (interface{}, error) { +func (p *parser) callonDocumentFragment151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock26() + return p.cur.onDocumentFragment151() } -func (c *current) onImageBlock30() (interface{}, error) { +func (c *current) onDocumentFragment154() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonImageBlock30() (interface{}, error) { +func (p *parser) callonDocumentFragment154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock30() + return p.cur.onDocumentFragment154() } -func (c *current) onImageBlock37() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment142(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonImageBlock37() (interface{}, error) { +func (p *parser) callonDocumentFragment142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock37() + return p.cur.onDocumentFragment142(stack["delimiter"]) } -func (c *current) onImageBlock41() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentFragment75(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonImageBlock41() (bool, error) { +func (p *parser) callonDocumentFragment75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock41() + return p.cur.onDocumentFragment75(stack["delimiter"], stack["content"]) } -func (c *current) onImageBlock48() (interface{}, error) { +func (c *current) onDocumentFragment169() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonImageBlock48() (interface{}, error) { +func (p *parser) callonDocumentFragment169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock48() + return p.cur.onDocumentFragment169() } -func (c *current) onImageBlock60() (interface{}, error) { +func (c *current) onDocumentFragment175() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock60() (interface{}, error) { +func (p *parser) callonDocumentFragment175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock60() + return p.cur.onDocumentFragment175() } -func (c *current) onImageBlock62() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment178() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock62() (interface{}, error) { +func (p *parser) callonDocumentFragment178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock62() + return p.cur.onDocumentFragment178() } -func (c *current) onImageBlock55(start interface{}) (interface{}, error) { - return start, nil - -} +func (c *current) onDocumentFragment166(delimiter interface{}) (interface{}, error) { -func (p *parser) callonImageBlock55() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onImageBlock55(stack["start"]) -} + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) -func (c *current) onImageBlock44(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonImageBlock44() (interface{}, error) { +func (p *parser) callonDocumentFragment166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock44(stack["name"], stack["start"]) + return p.cur.onDocumentFragment166(stack["delimiter"]) } -func (c *current) onImageBlock70() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment185(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonImageBlock70() (interface{}, error) { +func (p *parser) callonDocumentFragment185() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock70() + return p.cur.onDocumentFragment185(stack["start"]) } -func (c *current) onImageBlock82() (interface{}, error) { +func (c *current) onDocumentFragment197() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonImageBlock82() (interface{}, error) { +func (p *parser) callonDocumentFragment197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock82() + return p.cur.onDocumentFragment197() } -func (c *current) onImageBlock84() (interface{}, error) { +func (c *current) onDocumentFragment203() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return string(c.text), nil } -func (p *parser) callonImageBlock84() (interface{}, error) { +func (p *parser) callonDocumentFragment203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock84() + return p.cur.onDocumentFragment203() } -func (c *current) onImageBlock77(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentFragment206() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonImageBlock77() (interface{}, error) { +func (p *parser) callonDocumentFragment206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock77(stack["start"]) + return p.cur.onDocumentFragment206() } -func (c *current) onImageBlock66(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment194(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonImageBlock66() (interface{}, error) { +func (p *parser) callonDocumentFragment194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock66(stack["name"], stack["start"]) + return p.cur.onDocumentFragment194(stack["delimiter"]) } -func (c *current) onImageBlock92() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment213(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonImageBlock92() (interface{}, error) { +func (p *parser) callonDocumentFragment213() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock92() + return p.cur.onDocumentFragment213(stack["end"]) } -func (c *current) onImageBlock88(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment222() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonImageBlock88() (interface{}, error) { +func (p *parser) callonDocumentFragment222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock88(stack["name"]) + return p.cur.onDocumentFragment222() } -func (c *current) onImageBlock102() (interface{}, error) { +func (c *current) onDocumentFragment226() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonImageBlock102() (interface{}, error) { +func (p *parser) callonDocumentFragment226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock102() + return p.cur.onDocumentFragment226() } -func (c *current) onImageBlock98(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment217(content interface{}) (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonImageBlock98() (interface{}, error) { +func (p *parser) callonDocumentFragment217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock98(stack["name"]) + return p.cur.onDocumentFragment217(stack["content"]) } -func (c *current) onImageBlock39(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment188(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonImageBlock39() (interface{}, error) { +func (p *parser) callonDocumentFragment188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock39(stack["element"]) + return p.cur.onDocumentFragment188(stack["line"]) } -func (c *current) onImageBlock108() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment241() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonImageBlock108() (interface{}, error) { +func (p *parser) callonDocumentFragment241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock108() + return p.cur.onDocumentFragment241() } -func (c *current) onImageBlock19(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment247() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonImageBlock19() (interface{}, error) { +func (p *parser) callonDocumentFragment247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock19(stack["elements"]) + return p.cur.onDocumentFragment247() } -func (c *current) onImageBlock114() (interface{}, error) { +func (c *current) onDocumentFragment250() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonImageBlock114() (interface{}, error) { +func (p *parser) callonDocumentFragment250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock114() + return p.cur.onDocumentFragment250() } -func (c *current) onImageBlock110(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment238(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonImageBlock110() (interface{}, error) { +func (p *parser) callonDocumentFragment238() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock110(stack["ref"]) + return p.cur.onDocumentFragment238(stack["delimiter"]) } -func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment257(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonImageBlock5() (interface{}, error) { +func (p *parser) callonDocumentFragment257() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock5(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment257(stack["end"]) } -func (c *current) onImageBlock121() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment163(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Example, content.([]interface{})) } -func (p *parser) callonImageBlock121() (interface{}, error) { +func (p *parser) callonDocumentFragment163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock121() + return p.cur.onDocumentFragment163(stack["start"], stack["content"], stack["end"]) } -func (c *current) onImageBlock124() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment267() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars return string(c.text), nil } -func (p *parser) callonImageBlock124() (interface{}, error) { +func (p *parser) callonDocumentFragment267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock124() + return p.cur.onDocumentFragment267() } -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) onDocumentFragment271() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonImageBlock1() (interface{}, error) { +func (p *parser) callonDocumentFragment271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock1(stack["path"], stack["attributes"]) + return p.cur.onDocumentFragment271() } -func (c *current) onInlineImage11() (interface{}, error) { +func (c *current) onDocumentFragment274() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonInlineImage11() (interface{}, error) { +func (p *parser) callonDocumentFragment274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage11() + return p.cur.onDocumentFragment274() } -func (c *current) onInlineImage28() (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) onDocumentFragment263(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonInlineImage28() (interface{}, error) { +func (p *parser) callonDocumentFragment263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage28() -} - -func (c *current) onInlineImage32() (interface{}, error) { - return string(c.text), nil + return p.cur.onDocumentFragment263(stack["language"]) } -func (p *parser) callonInlineImage32() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineImage32() -} +func (c *current) onDocumentFragment289() (interface{}, error) { -func (c *current) onInlineImage39() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage39() (interface{}, error) { +func (p *parser) callonDocumentFragment289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage39() + return p.cur.onDocumentFragment289() } -func (c *current) onInlineImage43() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - +func (c *current) onDocumentFragment292() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage43() (bool, error) { +func (p *parser) callonDocumentFragment292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage43() + return p.cur.onDocumentFragment292() } -func (c *current) onInlineImage50() (interface{}, error) { +func (c *current) onDocumentFragment305() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage50() (interface{}, error) { +func (p *parser) callonDocumentFragment305() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage50() + return p.cur.onDocumentFragment305() } -func (c *current) onInlineImage62() (interface{}, error) { +func (c *current) onDocumentFragment309() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineImage62() (interface{}, error) { +func (p *parser) callonDocumentFragment309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage62() + return p.cur.onDocumentFragment309() } -func (c *current) onInlineImage64() (interface{}, error) { +func (c *current) onDocumentFragment300(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineImage64() (interface{}, error) { +func (p *parser) callonDocumentFragment300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage64() + return p.cur.onDocumentFragment300(stack["content"]) } -func (c *current) onInlineImage57(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment283(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonInlineImage57() (interface{}, error) { +func (p *parser) callonDocumentFragment283() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage57(stack["start"]) + return p.cur.onDocumentFragment283(stack["line"]) } -func (c *current) onInlineImage46(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment320() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonInlineImage46() (interface{}, error) { +func (p *parser) callonDocumentFragment320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage46(stack["name"], stack["start"]) + return p.cur.onDocumentFragment320() } -func (c *current) onInlineImage72() (interface{}, error) { +func (c *current) onDocumentFragment323() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineImage72() (interface{}, error) { +func (p *parser) callonDocumentFragment323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage72() + return p.cur.onDocumentFragment323() } -func (c *current) onInlineImage84() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment260(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) callonInlineImage84() (interface{}, error) { +func (p *parser) callonDocumentFragment260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage84() + return p.cur.onDocumentFragment260(stack["delimiter"], stack["content"]) } -func (c *current) onInlineImage86() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment336() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonInlineImage86() (interface{}, error) { +func (p *parser) callonDocumentFragment336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage86() + return p.cur.onDocumentFragment336() } -func (c *current) onInlineImage79(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment342() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonInlineImage79() (interface{}, error) { +func (p *parser) callonDocumentFragment342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage79(stack["start"]) + return p.cur.onDocumentFragment342() } -func (c *current) onInlineImage68(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment345() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage68() (interface{}, error) { +func (p *parser) callonDocumentFragment345() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage68(stack["name"], stack["start"]) + return p.cur.onDocumentFragment345() } -func (c *current) onInlineImage94() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment333(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonInlineImage94() (interface{}, error) { +func (p *parser) callonDocumentFragment333() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage94() + return p.cur.onDocumentFragment333(stack["delimiter"]) } -func (c *current) onInlineImage90(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) onDocumentFragment352(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonInlineImage90() (interface{}, error) { +func (p *parser) callonDocumentFragment352() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage90(stack["name"]) + return p.cur.onDocumentFragment352(stack["start"]) } -func (c *current) onInlineImage104() (interface{}, error) { +func (c *current) onDocumentFragment364() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonInlineImage104() (interface{}, error) { +func (p *parser) callonDocumentFragment364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage104() + return p.cur.onDocumentFragment364() } -func (c *current) onInlineImage100(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment370() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonInlineImage100() (interface{}, error) { +func (p *parser) callonDocumentFragment370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage100(stack["name"]) + return p.cur.onDocumentFragment370() } -func (c *current) onInlineImage41(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment373() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage41() (interface{}, error) { +func (p *parser) callonDocumentFragment373() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage41(stack["element"]) + return p.cur.onDocumentFragment373() } -func (c *current) onInlineImage110() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment361(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonInlineImage110() (interface{}, error) { +func (p *parser) callonDocumentFragment361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage110() + return p.cur.onDocumentFragment361(stack["delimiter"]) } -func (c *current) onInlineImage21(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment380(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonInlineImage21() (interface{}, error) { +func (p *parser) callonDocumentFragment380() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage21(stack["elements"]) + return p.cur.onDocumentFragment380(stack["end"]) } -func (c *current) onInlineImage116() (interface{}, error) { +func (c *current) onDocumentFragment389() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineImage116() (interface{}, error) { +func (p *parser) callonDocumentFragment389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage116() + return p.cur.onDocumentFragment389() } -func (c *current) onInlineImage112(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment393() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineImage112() (interface{}, error) { +func (p *parser) callonDocumentFragment393() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage112(stack["ref"]) + return p.cur.onDocumentFragment393() } -func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment384(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonInlineImage7() (interface{}, error) { +func (p *parser) callonDocumentFragment384() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage7(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment384(stack["content"]) } -func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { - return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) +func (c *current) onDocumentFragment355(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonInlineImage1() (interface{}, error) { +func (p *parser) callonDocumentFragment355() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage1(stack["path"], stack["attributes"]) + return p.cur.onDocumentFragment355(stack["line"]) } -func (c *current) onInlineIcon5() (interface{}, error) { +func (c *current) onDocumentFragment408() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil + } -func (p *parser) callonInlineIcon5() (interface{}, error) { +func (p *parser) callonDocumentFragment408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon5() + return p.cur.onDocumentFragment408() } -func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { - return types.NewIcon(icon.(string), attributes) +func (c *current) onDocumentFragment414() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonInlineIcon1() (interface{}, error) { +func (p *parser) callonDocumentFragment414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) + return p.cur.onDocumentFragment414() } -func (c *current) onInlineFootnote6() (interface{}, error) { +func (c *current) onDocumentFragment417() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonInlineFootnote6() (interface{}, error) { +func (p *parser) callonDocumentFragment417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote6() + return p.cur.onDocumentFragment417() } -func (c *current) onInlineFootnote1(ref, elements interface{}) (interface{}, error) { - // TODO: use only this rule with `ref:(FootnoteRef)?` - return types.NewFootnote(ref, elements.([]interface{})) +func (c *current) onDocumentFragment405(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonInlineFootnote1() (interface{}, error) { +func (p *parser) callonDocumentFragment405() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote1(stack["ref"], stack["elements"]) + return p.cur.onDocumentFragment405(stack["delimiter"]) } -func (c *current) onFootnoteElements1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment424(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonFootnoteElements1() (interface{}, error) { +func (p *parser) callonDocumentFragment424() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElements1(stack["elements"]) + return p.cur.onDocumentFragment424(stack["end"]) } -func (c *current) onFootnoteElement8() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment330(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) + } -func (p *parser) callonFootnoteElement8() (interface{}, error) { +func (p *parser) callonDocumentFragment330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElement8() + return p.cur.onDocumentFragment330(stack["start"], stack["content"], stack["end"]) } -func (c *current) onFootnoteElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment433() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonFootnoteElement1() (interface{}, error) { +func (p *parser) callonDocumentFragment433() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElement1(stack["element"]) + return p.cur.onDocumentFragment433() } -func (c *current) onPassthroughMacro7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment439() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonPassthroughMacro7() (interface{}, error) { +func (p *parser) callonDocumentFragment439() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro7() + return p.cur.onDocumentFragment439() } -func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) - +func (c *current) onDocumentFragment442() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonPassthroughMacro2() (interface{}, error) { +func (p *parser) callonDocumentFragment442() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro2(stack["content"]) + return p.cur.onDocumentFragment442() } -func (c *current) onPassthroughMacro17() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment430(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonPassthroughMacro17() (interface{}, error) { +func (p *parser) callonDocumentFragment430() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro17() + return p.cur.onDocumentFragment430(stack["delimiter"]) } -func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) +func (c *current) onDocumentFragment449(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonPassthroughMacro10() (interface{}, error) { +func (p *parser) callonDocumentFragment449() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro10(stack["content"]) + return p.cur.onDocumentFragment449(stack["start"]) } -func (c *current) onLink11() (interface{}, error) { +func (c *current) onDocumentFragment461() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil + } -func (p *parser) callonLink11() (interface{}, error) { +func (p *parser) callonDocumentFragment461() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink11() + return p.cur.onDocumentFragment461() } -func (c *current) onLink27() (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) onDocumentFragment467() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonLink27() (interface{}, error) { +func (p *parser) callonDocumentFragment467() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink27() + return p.cur.onDocumentFragment467() } -func (c *current) onLink31() (interface{}, error) { +func (c *current) onDocumentFragment470() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonLink31() (interface{}, error) { +func (p *parser) callonDocumentFragment470() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink31() + return p.cur.onDocumentFragment470() } -func (c *current) onLink38() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment458(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonLink38() (interface{}, error) { +func (p *parser) callonDocumentFragment458() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink38() + return p.cur.onDocumentFragment458(stack["delimiter"]) } -func (c *current) onLink42() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentFragment477(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonLink42() (bool, error) { +func (p *parser) callonDocumentFragment477() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink42() + return p.cur.onDocumentFragment477(stack["end"]) } -func (c *current) onLink49() (interface{}, error) { +func (c *current) onDocumentFragment486() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink49() (interface{}, error) { +func (p *parser) callonDocumentFragment486() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink49() + return p.cur.onDocumentFragment486() } -func (c *current) onLink61() (interface{}, error) { +func (c *current) onDocumentFragment490() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonLink61() (interface{}, error) { +func (p *parser) callonDocumentFragment490() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink61() + return p.cur.onDocumentFragment490() } -func (c *current) onLink63() (interface{}, error) { +func (c *current) onDocumentFragment481(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonLink63() (interface{}, error) { +func (p *parser) callonDocumentFragment481() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink63() + return p.cur.onDocumentFragment481(stack["content"]) } -func (c *current) onLink56(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment452(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonLink56() (interface{}, error) { +func (p *parser) callonDocumentFragment452() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink56(stack["start"]) + return p.cur.onDocumentFragment452(stack["line"]) } -func (c *current) onLink45(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment505() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + } -func (p *parser) callonLink45() (interface{}, error) { +func (p *parser) callonDocumentFragment505() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink45(stack["name"], stack["start"]) + return p.cur.onDocumentFragment505() } -func (c *current) onLink71() (interface{}, error) { +func (c *current) onDocumentFragment511() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink71() (interface{}, error) { +func (p *parser) callonDocumentFragment511() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink71() + return p.cur.onDocumentFragment511() } -func (c *current) onLink83() (interface{}, error) { +func (c *current) onDocumentFragment514() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonLink83() (interface{}, error) { +func (p *parser) callonDocumentFragment514() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink83() + return p.cur.onDocumentFragment514() } -func (c *current) onLink85() (interface{}, error) { +func (c *current) onDocumentFragment502(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonLink85() (interface{}, error) { +func (p *parser) callonDocumentFragment502() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink85() + return p.cur.onDocumentFragment502(stack["delimiter"]) } -func (c *current) onLink78(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment521(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonLink78() (interface{}, error) { +func (p *parser) callonDocumentFragment521() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink78(stack["start"]) + return p.cur.onDocumentFragment521(stack["end"]) } -func (c *current) onLink67(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment427(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) + } -func (p *parser) callonLink67() (interface{}, error) { +func (p *parser) callonDocumentFragment427() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink67(stack["name"], stack["start"]) + return p.cur.onDocumentFragment427(stack["start"], stack["content"], stack["end"]) } -func (c *current) onLink93() (interface{}, error) { +func (c *current) onDocumentFragment530() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonLink93() (interface{}, error) { +func (p *parser) callonDocumentFragment530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink93() + return p.cur.onDocumentFragment530() } -func (c *current) onLink89(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment536() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonLink89() (interface{}, error) { +func (p *parser) callonDocumentFragment536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink89(stack["name"]) + return p.cur.onDocumentFragment536() } -func (c *current) onLink103() (interface{}, error) { +func (c *current) onDocumentFragment539() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonLink103() (interface{}, error) { +func (p *parser) callonDocumentFragment539() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink103() + return p.cur.onDocumentFragment539() } -func (c *current) onLink99(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment527(delimiter interface{}) (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonLink99() (interface{}, error) { +func (p *parser) callonDocumentFragment527() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink99(stack["name"]) + return p.cur.onDocumentFragment527(stack["delimiter"]) } -func (c *current) onLink40(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment546(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonLink40() (interface{}, error) { +func (p *parser) callonDocumentFragment546() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink40(stack["element"]) + return p.cur.onDocumentFragment546(stack["start"]) } -func (c *current) onLink109() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment558() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonLink109() (interface{}, error) { +func (p *parser) callonDocumentFragment558() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink109() -} - -func (c *current) onLink20(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) - + return p.cur.onDocumentFragment558() } -func (p *parser) callonLink20() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLink20(stack["elements"]) -} +func (c *current) onDocumentFragment564() (interface{}, error) { -func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) + return string(c.text), nil } -func (p *parser) callonLink6() (interface{}, error) { +func (p *parser) callonDocumentFragment564() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink6(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment564() } -func (c *current) onLink111(url interface{}) (bool, error) { - // expect `>` to be part of `url` and trimmed afterwards - return url.(*types.Location).TrimAngleBracketSuffix() - +func (c *current) onDocumentFragment567() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLink111() (bool, error) { +func (p *parser) callonDocumentFragment567() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink111(stack["url"]) + return p.cur.onDocumentFragment567() } -func (c *current) onLink2(url interface{}) (interface{}, error) { +func (c *current) onDocumentFragment555(delimiter interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), nil) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonLink2() (interface{}, error) { +func (p *parser) callonDocumentFragment555() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink2(stack["url"]) + return p.cur.onDocumentFragment555(stack["delimiter"]) } -func (c *current) onLink121() (bool, error) { - // must not start or end with dot (`.`), not contain two consecutive dots (`..`) - local := string(c.text) - return !strings.HasPrefix(local, ".") && - !strings.HasSuffix(local, ".") && - !strings.Contains(local, ".."), nil +func (c *current) onDocumentFragment574(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonLink121() (bool, error) { +func (p *parser) callonDocumentFragment574() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink121() + return p.cur.onDocumentFragment574(stack["end"]) } -func (c *current) onLink117() (interface{}, error) { +func (c *current) onDocumentFragment583() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink117() (interface{}, error) { +func (p *parser) callonDocumentFragment583() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink117() + return p.cur.onDocumentFragment583() } -func (c *current) onLink124() (interface{}, error) { +func (c *current) onDocumentFragment587() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonLink124() (interface{}, error) { +func (p *parser) callonDocumentFragment587() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink124() + return p.cur.onDocumentFragment587() } -func (c *current) onLink114(local, domain interface{}) (interface{}, error) { - return types.NewEmailAddressLink(local.(string) + "@" + domain.(string)) +func (c *current) onDocumentFragment578(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + } -func (p *parser) callonLink114() (interface{}, error) { +func (p *parser) callonDocumentFragment578() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink114(stack["local"], stack["domain"]) + return p.cur.onDocumentFragment578(stack["content"]) } -func (c *current) onRelativeLink10() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment549(line interface{}) (interface{}, error) { + return line, nil + } -func (p *parser) callonRelativeLink10() (interface{}, error) { +func (p *parser) callonDocumentFragment549() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink10() + return p.cur.onDocumentFragment549(stack["line"]) } -func (c *current) onRelativeLink27() (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) onDocumentFragment602() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonRelativeLink27() (interface{}, error) { +func (p *parser) callonDocumentFragment602() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink27() + return p.cur.onDocumentFragment602() } -func (c *current) onRelativeLink31() (interface{}, error) { +func (c *current) onDocumentFragment608() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonRelativeLink31() (interface{}, error) { +func (p *parser) callonDocumentFragment608() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink31() + return p.cur.onDocumentFragment608() } -func (c *current) onRelativeLink38() (interface{}, error) { +func (c *current) onDocumentFragment611() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink38() (interface{}, error) { +func (p *parser) callonDocumentFragment611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink38() + return p.cur.onDocumentFragment611() } -func (c *current) onRelativeLink42() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentFragment599(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonRelativeLink42() (bool, error) { +func (p *parser) callonDocumentFragment599() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink42() + return p.cur.onDocumentFragment599(stack["delimiter"]) } -func (c *current) onRelativeLink49() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment618(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonRelativeLink49() (interface{}, error) { +func (p *parser) callonDocumentFragment618() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink49() + return p.cur.onDocumentFragment618(stack["end"]) } -func (c *current) onRelativeLink61() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment524(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonRelativeLink61() (interface{}, error) { +func (p *parser) callonDocumentFragment524() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink61() + return p.cur.onDocumentFragment524(stack["start"], stack["content"], stack["end"]) } -func (c *current) onRelativeLink63() (interface{}, error) { +func (c *current) onDocumentFragment632() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return string(c.text), nil } -func (p *parser) callonRelativeLink63() (interface{}, error) { +func (p *parser) callonDocumentFragment632() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink63() + return p.cur.onDocumentFragment632() } -func (c *current) onRelativeLink56(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onDocumentFragment635() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink56() (interface{}, error) { +func (p *parser) callonDocumentFragment635() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink56(stack["start"]) + return p.cur.onDocumentFragment635() } -func (c *current) onRelativeLink45(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment627() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonRelativeLink45() (interface{}, error) { +func (p *parser) callonDocumentFragment627() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink45(stack["name"], stack["start"]) + return p.cur.onDocumentFragment627() } -func (c *current) onRelativeLink71() (interface{}, error) { +func (c *current) onDocumentFragment644() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink71() (interface{}, error) { +func (p *parser) callonDocumentFragment644() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink71() + return p.cur.onDocumentFragment644() } -func (c *current) onRelativeLink83() (interface{}, error) { +func (c *current) onDocumentFragment648() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink83() (interface{}, error) { +func (p *parser) callonDocumentFragment648() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink83() + return p.cur.onDocumentFragment648() } -func (c *current) onRelativeLink85() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment624(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonRelativeLink85() (interface{}, error) { +func (p *parser) callonDocumentFragment624() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink85() + return p.cur.onDocumentFragment624(stack["content"]) } -func (c *current) onRelativeLink78(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment666() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonRelativeLink78() (interface{}, error) { +func (p *parser) callonDocumentFragment666() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink78(stack["start"]) + return p.cur.onDocumentFragment666() } -func (c *current) onRelativeLink67(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment669() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink67() (interface{}, error) { +func (p *parser) callonDocumentFragment669() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink67(stack["name"], stack["start"]) + return p.cur.onDocumentFragment669() } -func (c *current) onRelativeLink93() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment661() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonRelativeLink93() (interface{}, error) { +func (p *parser) callonDocumentFragment661() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink93() + return p.cur.onDocumentFragment661() } -func (c *current) onRelativeLink89(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment678() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonRelativeLink89() (interface{}, error) { +func (p *parser) callonDocumentFragment678() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink89(stack["name"]) + return p.cur.onDocumentFragment678() } -func (c *current) onRelativeLink103() (interface{}, error) { +func (c *current) onDocumentFragment682() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink103() (interface{}, error) { +func (p *parser) callonDocumentFragment682() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink103() + return p.cur.onDocumentFragment682() } -func (c *current) onRelativeLink99(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onDocumentFragment658(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonRelativeLink99() (interface{}, error) { +func (p *parser) callonDocumentFragment658() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink99(stack["name"]) + return p.cur.onDocumentFragment658(stack["content"]) } -func (c *current) onRelativeLink40(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment692() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonRelativeLink40() (interface{}, error) { +func (p *parser) callonDocumentFragment692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink40(stack["element"]) + return p.cur.onDocumentFragment692() } -func (c *current) onRelativeLink109() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment695(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonRelativeLink109() (interface{}, error) { +func (p *parser) callonDocumentFragment695() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink109() + return p.cur.onDocumentFragment695(stack["content"]) } -func (c *current) onRelativeLink20(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) - +func (c *current) onDocumentFragment697() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink20() (interface{}, error) { +func (p *parser) callonDocumentFragment697() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink20(stack["elements"]) + return p.cur.onDocumentFragment697() } -func (c *current) onRelativeLink115() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment689(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonRelativeLink115() (interface{}, error) { +func (p *parser) callonDocumentFragment689() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink115() + return p.cur.onDocumentFragment689(stack["content"]) } -func (c *current) onRelativeLink111(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment621(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) + } -func (p *parser) callonRelativeLink111() (interface{}, error) { +func (p *parser) callonDocumentFragment621() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink111(stack["ref"]) + return p.cur.onDocumentFragment621(stack["firstLine"], stack["otherLines"]) } -func (c *current) onRelativeLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment710() (interface{}, error) { + // sequence of exactly "--" + return string(c.text), nil } -func (p *parser) callonRelativeLink6() (interface{}, error) { +func (p *parser) callonDocumentFragment710() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment710() } -func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentFragment713() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonRelativeLink2() (interface{}, error) { +func (p *parser) callonDocumentFragment713() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) + return p.cur.onDocumentFragment713() } -func (c *current) onRelativeLink129() (interface{}, error) { +func (c *current) onDocumentFragment716() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonRelativeLink129() (interface{}, error) { +func (p *parser) callonDocumentFragment716() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink129() + return p.cur.onDocumentFragment716() } -func (c *current) onRelativeLink146() (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) onDocumentFragment707(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonRelativeLink146() (interface{}, error) { +func (p *parser) callonDocumentFragment707() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink146() + return p.cur.onDocumentFragment707(stack["delimiter"]) } -func (c *current) onRelativeLink150() (interface{}, error) { +func (c *current) onDocumentFragment732() (interface{}, error) { + // sequence of exactly "--" return string(c.text), nil + } -func (p *parser) callonRelativeLink150() (interface{}, error) { +func (p *parser) callonDocumentFragment732() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink150() + return p.cur.onDocumentFragment732() } -func (c *current) onRelativeLink157() (interface{}, error) { +func (c *current) onDocumentFragment735() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink157() (interface{}, error) { +func (p *parser) callonDocumentFragment735() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink157() + return p.cur.onDocumentFragment735() } -func (c *current) onRelativeLink161() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - +func (c *current) onDocumentFragment738() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink161() (bool, error) { +func (p *parser) callonDocumentFragment738() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink161() + return p.cur.onDocumentFragment738() } -func (c *current) onRelativeLink168() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment729(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonRelativeLink168() (interface{}, error) { +func (p *parser) callonDocumentFragment729() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink168() + return p.cur.onDocumentFragment729(stack["delimiter"]) } -func (c *current) onRelativeLink180() (interface{}, error) { +func (c *current) onDocumentFragment753() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink180() (interface{}, error) { +func (p *parser) callonDocumentFragment753() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink180() + return p.cur.onDocumentFragment753() } -func (c *current) onRelativeLink182() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment757() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink182() (interface{}, error) { +func (p *parser) callonDocumentFragment757() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink182() + return p.cur.onDocumentFragment757() } -func (c *current) onRelativeLink175(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment748(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonRelativeLink175() (interface{}, error) { +func (p *parser) callonDocumentFragment748() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink175(stack["start"]) + return p.cur.onDocumentFragment748(stack["content"]) } -func (c *current) onRelativeLink164(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment725(line interface{}) (interface{}, error) { + return line, nil + } -func (p *parser) callonRelativeLink164() (interface{}, error) { +func (p *parser) callonDocumentFragment725() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink164(stack["name"], stack["start"]) + return p.cur.onDocumentFragment725(stack["line"]) } -func (c *current) onRelativeLink190() (interface{}, error) { +func (c *current) onDocumentFragment770() (interface{}, error) { + // sequence of exactly "--" return string(c.text), nil } -func (p *parser) callonRelativeLink190() (interface{}, error) { +func (p *parser) callonDocumentFragment770() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink190() + return p.cur.onDocumentFragment770() } -func (c *current) onRelativeLink202() (interface{}, error) { +func (c *current) onDocumentFragment773() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink202() (interface{}, error) { +func (p *parser) callonDocumentFragment773() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink202() + return p.cur.onDocumentFragment773() } -func (c *current) onRelativeLink204() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment776() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink204() (interface{}, error) { +func (p *parser) callonDocumentFragment776() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink204() + return p.cur.onDocumentFragment776() } -func (c *current) onRelativeLink197(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment767(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonRelativeLink197() (interface{}, error) { +func (p *parser) callonDocumentFragment767() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink197(stack["start"]) + return p.cur.onDocumentFragment767(stack["delimiter"]) } -func (c *current) onRelativeLink186(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment704(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Open, content.([]interface{})) + } -func (p *parser) callonRelativeLink186() (interface{}, error) { +func (p *parser) callonDocumentFragment704() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink186(stack["name"], stack["start"]) + return p.cur.onDocumentFragment704(stack["start"], stack["content"], stack["end"]) } -func (c *current) onRelativeLink212() (interface{}, error) { +func (c *current) onDocumentFragment791() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonRelativeLink212() (interface{}, error) { +func (p *parser) callonDocumentFragment791() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink212() + return p.cur.onDocumentFragment791() } -func (c *current) onRelativeLink208(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment797() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonRelativeLink208() (interface{}, error) { +func (p *parser) callonDocumentFragment797() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink208(stack["name"]) + return p.cur.onDocumentFragment797() } -func (c *current) onRelativeLink222() (interface{}, error) { +func (c *current) onDocumentFragment800() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink222() (interface{}, error) { +func (p *parser) callonDocumentFragment800() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink222() + return p.cur.onDocumentFragment800() } -func (c *current) onRelativeLink218(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment788(delimiter interface{}) (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonRelativeLink218() (interface{}, error) { +func (p *parser) callonDocumentFragment788() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink218(stack["name"]) + return p.cur.onDocumentFragment788(stack["delimiter"]) } -func (c *current) onRelativeLink159(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment807(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonRelativeLink159() (interface{}, error) { +func (p *parser) callonDocumentFragment807() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink159(stack["element"]) + return p.cur.onDocumentFragment807(stack["start"]) } -func (c *current) onRelativeLink228() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment819() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonRelativeLink228() (interface{}, error) { +func (p *parser) callonDocumentFragment819() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink228() + return p.cur.onDocumentFragment819() } -func (c *current) onRelativeLink139(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment825() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonRelativeLink139() (interface{}, error) { +func (p *parser) callonDocumentFragment825() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink139(stack["elements"]) + return p.cur.onDocumentFragment825() } -func (c *current) onRelativeLink234() (interface{}, error) { +func (c *current) onDocumentFragment828() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonRelativeLink234() (interface{}, error) { +func (p *parser) callonDocumentFragment828() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink234() + return p.cur.onDocumentFragment828() } -func (c *current) onRelativeLink230(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment816(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonRelativeLink230() (interface{}, error) { +func (p *parser) callonDocumentFragment816() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink230(stack["ref"]) + return p.cur.onDocumentFragment816(stack["delimiter"]) } -func (c *current) onRelativeLink125(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment835(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonRelativeLink125() (interface{}, error) { +func (p *parser) callonDocumentFragment835() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink125(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment835(stack["end"]) } -func (c *current) onRelativeLink121(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onDocumentFragment844() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonRelativeLink121() (interface{}, error) { +func (p *parser) callonDocumentFragment844() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink121(stack["url"], stack["attributes"]) + return p.cur.onDocumentFragment844() } -func (c *current) onExternalLink11() (interface{}, error) { +func (c *current) onDocumentFragment848() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExternalLink11() (interface{}, error) { +func (p *parser) callonDocumentFragment848() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink11() + return p.cur.onDocumentFragment848() } -func (c *current) onExternalLink27() (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) onDocumentFragment839(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonExternalLink27() (interface{}, error) { +func (p *parser) callonDocumentFragment839() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink27() + return p.cur.onDocumentFragment839(stack["content"]) } -func (c *current) onExternalLink31() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment810(line interface{}) (interface{}, error) { + return line, nil + } -func (p *parser) callonExternalLink31() (interface{}, error) { +func (p *parser) callonDocumentFragment810() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink31() + return p.cur.onDocumentFragment810(stack["line"]) } -func (c *current) onExternalLink38() (interface{}, error) { +func (c *current) onDocumentFragment863() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonExternalLink38() (interface{}, error) { +func (p *parser) callonDocumentFragment863() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink38() + return p.cur.onDocumentFragment863() } -func (c *current) onExternalLink42() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentFragment869() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExternalLink42() (bool, error) { +func (p *parser) callonDocumentFragment869() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink42() + return p.cur.onDocumentFragment869() } -func (c *current) onExternalLink49() (interface{}, error) { +func (c *current) onDocumentFragment872() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink49() (interface{}, error) { +func (p *parser) callonDocumentFragment872() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink49() + return p.cur.onDocumentFragment872() } -func (c *current) onExternalLink61() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment860(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExternalLink61() (interface{}, error) { +func (p *parser) callonDocumentFragment860() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink61() + return p.cur.onDocumentFragment860(stack["delimiter"]) } -func (c *current) onExternalLink63() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment879(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExternalLink63() (interface{}, error) { +func (p *parser) callonDocumentFragment879() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink63() + return p.cur.onDocumentFragment879(stack["end"]) } -func (c *current) onExternalLink56(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment785(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) } -func (p *parser) callonExternalLink56() (interface{}, error) { +func (p *parser) callonDocumentFragment785() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink56(stack["start"]) + return p.cur.onDocumentFragment785(stack["start"], stack["content"], stack["end"]) } -func (c *current) onExternalLink45(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment888() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + } -func (p *parser) callonExternalLink45() (interface{}, error) { +func (p *parser) callonDocumentFragment888() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink45(stack["name"], stack["start"]) + return p.cur.onDocumentFragment888() } -func (c *current) onExternalLink71() (interface{}, error) { +func (c *current) onDocumentFragment894() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink71() (interface{}, error) { +func (p *parser) callonDocumentFragment894() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink71() + return p.cur.onDocumentFragment894() } -func (c *current) onExternalLink83() (interface{}, error) { +func (c *current) onDocumentFragment897() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink83() (interface{}, error) { +func (p *parser) callonDocumentFragment897() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink83() + return p.cur.onDocumentFragment897() } -func (c *current) onExternalLink85() (interface{}, error) { +func (c *current) onDocumentFragment885(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExternalLink85() (interface{}, error) { +func (p *parser) callonDocumentFragment885() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink85() + return p.cur.onDocumentFragment885(stack["delimiter"]) } -func (c *current) onExternalLink78(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment904(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonExternalLink78() (interface{}, error) { +func (p *parser) callonDocumentFragment904() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink78(stack["start"]) + return p.cur.onDocumentFragment904(stack["start"]) } -func (c *current) onExternalLink67(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment916() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + } -func (p *parser) callonExternalLink67() (interface{}, error) { +func (p *parser) callonDocumentFragment916() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink67(stack["name"], stack["start"]) + return p.cur.onDocumentFragment916() } -func (c *current) onExternalLink93() (interface{}, error) { +func (c *current) onDocumentFragment922() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink93() (interface{}, error) { +func (p *parser) callonDocumentFragment922() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink93() + return p.cur.onDocumentFragment922() } -func (c *current) onExternalLink89(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment925() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (p *parser) callonDocumentFragment925() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment925() +} + +func (c *current) onDocumentFragment913(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExternalLink89() (interface{}, error) { +func (p *parser) callonDocumentFragment913() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink89(stack["name"]) + return p.cur.onDocumentFragment913(stack["delimiter"]) } -func (c *current) onExternalLink103() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment932(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExternalLink103() (interface{}, error) { +func (p *parser) callonDocumentFragment932() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink103() + return p.cur.onDocumentFragment932(stack["end"]) } -func (c *current) onExternalLink99(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment941() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonExternalLink99() (interface{}, error) { +func (p *parser) callonDocumentFragment941() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink99(stack["name"]) + return p.cur.onDocumentFragment941() } -func (c *current) onExternalLink40(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment945() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink40() (interface{}, error) { +func (p *parser) callonDocumentFragment945() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink40(stack["element"]) + return p.cur.onDocumentFragment945() } -func (c *current) onExternalLink109() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment936(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonExternalLink109() (interface{}, error) { +func (p *parser) callonDocumentFragment936() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink109() + return p.cur.onDocumentFragment936(stack["content"]) } -func (c *current) onExternalLink20(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment907(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExternalLink20() (interface{}, error) { +func (p *parser) callonDocumentFragment907() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink20(stack["elements"]) + return p.cur.onDocumentFragment907(stack["line"]) } -func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment960() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonExternalLink6() (interface{}, error) { +func (p *parser) callonDocumentFragment960() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink6(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment960() } -func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentFragment966() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExternalLink2() (interface{}, error) { +func (p *parser) callonDocumentFragment966() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink2(stack["url"], stack["attributes"]) + return p.cur.onDocumentFragment966() } -func (c *current) onExternalLink122() (interface{}, error) { +func (c *current) onDocumentFragment969() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExternalLink122() (interface{}, error) { +func (p *parser) callonDocumentFragment969() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink122() + return p.cur.onDocumentFragment969() } -func (c *current) onExternalLink138() (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) onDocumentFragment957(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExternalLink138() (interface{}, error) { +func (p *parser) callonDocumentFragment957() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink138() + return p.cur.onDocumentFragment957(stack["delimiter"]) } -func (c *current) onExternalLink142() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment976(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + } -func (p *parser) callonExternalLink142() (interface{}, error) { +func (p *parser) callonDocumentFragment976() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink142() + return p.cur.onDocumentFragment976(stack["end"]) } -func (c *current) onExternalLink149() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment882(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonExternalLink149() (interface{}, error) { +func (p *parser) callonDocumentFragment882() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink149() + return p.cur.onDocumentFragment882(stack["start"], stack["content"], stack["end"]) } -func (c *current) onExternalLink153() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentFragment985() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonExternalLink153() (bool, error) { +func (p *parser) callonDocumentFragment985() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink153() + return p.cur.onDocumentFragment985() } -func (c *current) onExternalLink160() (interface{}, error) { +func (c *current) onDocumentFragment991() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink160() (interface{}, error) { +func (p *parser) callonDocumentFragment991() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink160() + return p.cur.onDocumentFragment991() } -func (c *current) onExternalLink172() (interface{}, error) { +func (c *current) onDocumentFragment994() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink172() (interface{}, error) { +func (p *parser) callonDocumentFragment994() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink172() + return p.cur.onDocumentFragment994() } -func (c *current) onExternalLink174() (interface{}, error) { +func (c *current) onDocumentFragment982(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExternalLink174() (interface{}, error) { +func (p *parser) callonDocumentFragment982() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink174() + return p.cur.onDocumentFragment982(stack["delimiter"]) } -func (c *current) onExternalLink167(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1001(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonExternalLink167() (interface{}, error) { +func (p *parser) callonDocumentFragment1001() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink167(stack["start"]) + return p.cur.onDocumentFragment1001(stack["start"]) } -func (c *current) onExternalLink156(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment1013() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + } -func (p *parser) callonExternalLink156() (interface{}, error) { +func (p *parser) callonDocumentFragment1013() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink156(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1013() } -func (c *current) onExternalLink182() (interface{}, error) { +func (c *current) onDocumentFragment1019() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink182() (interface{}, error) { +func (p *parser) callonDocumentFragment1019() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink182() + return p.cur.onDocumentFragment1019() } -func (c *current) onExternalLink194() (interface{}, error) { +func (c *current) onDocumentFragment1022() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink194() (interface{}, error) { +func (p *parser) callonDocumentFragment1022() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink194() + return p.cur.onDocumentFragment1022() } -func (c *current) onExternalLink196() (interface{}, error) { +func (c *current) onDocumentFragment1010(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExternalLink196() (interface{}, error) { +func (p *parser) callonDocumentFragment1010() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink196() + return p.cur.onDocumentFragment1010(stack["delimiter"]) } -func (c *current) onExternalLink189(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment1029(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExternalLink189() (interface{}, error) { +func (p *parser) callonDocumentFragment1029() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink189(stack["start"]) + return p.cur.onDocumentFragment1029(stack["end"]) } -func (c *current) onExternalLink178(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment1038() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonExternalLink178() (interface{}, error) { +func (p *parser) callonDocumentFragment1038() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink178(stack["name"], stack["start"]) + return p.cur.onDocumentFragment1038() } -func (c *current) onExternalLink204() (interface{}, error) { +func (c *current) onDocumentFragment1042() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink204() (interface{}, error) { +func (p *parser) callonDocumentFragment1042() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink204() + return p.cur.onDocumentFragment1042() } -func (c *current) onExternalLink200(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1033(content interface{}) (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentFragment1033() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1033(stack["content"]) +} + +func (c *current) onDocumentFragment1004(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExternalLink200() (interface{}, error) { +func (p *parser) callonDocumentFragment1004() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink200(stack["name"]) + return p.cur.onDocumentFragment1004(stack["line"]) } -func (c *current) onExternalLink214() (interface{}, error) { +func (c *current) onDocumentFragment1057() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonExternalLink214() (interface{}, error) { +func (p *parser) callonDocumentFragment1057() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink214() + return p.cur.onDocumentFragment1057() } -func (c *current) onExternalLink210(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1063() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonExternalLink210() (interface{}, error) { +func (p *parser) callonDocumentFragment1063() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink210(stack["name"]) + return p.cur.onDocumentFragment1063() } -func (c *current) onExternalLink151(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentFragment1066() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink151() (interface{}, error) { +func (p *parser) callonDocumentFragment1066() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink151(stack["element"]) + return p.cur.onDocumentFragment1066() } -func (c *current) onExternalLink220() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment1054(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExternalLink220() (interface{}, error) { +func (p *parser) callonDocumentFragment1054() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink220() + return p.cur.onDocumentFragment1054(stack["delimiter"]) } -func (c *current) onExternalLink131(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment1073(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExternalLink131() (interface{}, error) { +func (p *parser) callonDocumentFragment1073() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink131(stack["elements"]) + return p.cur.onDocumentFragment1073(stack["end"]) } -func (c *current) onExternalLink117(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onDocumentFragment979(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) } -func (p *parser) callonExternalLink117() (interface{}, error) { +func (p *parser) callonDocumentFragment979() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink117(stack["scheme"], stack["path"]) + return p.cur.onDocumentFragment979(stack["start"], stack["content"], stack["end"]) } -func (c *current) onExternalLink114(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes) +func (c *current) onDocumentFragment1087() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExternalLink114() (interface{}, error) { +func (p *parser) callonDocumentFragment1087() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink114(stack["url"], stack["attributes"]) + return p.cur.onDocumentFragment1087() } -func (c *current) onListElements11() (interface{}, error) { +func (c *current) onDocumentFragment1090() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonDocumentFragment1090() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentFragment1090() } -func (p *parser) callonListElements11() (interface{}, error) { +func (c *current) onDocumentFragment1098() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentFragment1098() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements11() + return p.cur.onDocumentFragment1098() } -func (c *current) onListElements18() (interface{}, error) { +func (c *current) onDocumentFragment1076() (interface{}, error) { - // `.` is 1, etc. - return (len(c.text)), nil + return types.NewThematicBreak() } -func (p *parser) callonListElements18() (interface{}, error) { +func (p *parser) callonDocumentFragment1076() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements18() + return p.cur.onDocumentFragment1076() } -func (c *current) onListElements21(depth interface{}) (bool, error) { +func (c *current) onDocumentFragment1110() (interface{}, error) { - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil + return string(c.text), nil } -func (p *parser) callonListElements21() (bool, error) { +func (p *parser) callonDocumentFragment1110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements21(stack["depth"]) + return p.cur.onDocumentFragment1110() } -func (c *current) onListElements15(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } - +func (c *current) onDocumentFragment1113() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements15() (interface{}, error) { +func (p *parser) callonDocumentFragment1113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements15(stack["depth"]) + return p.cur.onDocumentFragment1113() } -func (c *current) onListElements22() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onDocumentFragment1128() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElements22() (interface{}, error) { +func (p *parser) callonDocumentFragment1128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements22() + return p.cur.onDocumentFragment1128() } -func (c *current) onListElements27() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onDocumentFragment1131() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements27() (interface{}, error) { +func (p *parser) callonDocumentFragment1131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements27() + return p.cur.onDocumentFragment1131() } -func (c *current) onListElements31() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onDocumentFragment1123() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElements31() (interface{}, error) { +func (p *parser) callonDocumentFragment1123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements31() + return p.cur.onDocumentFragment1123() } -func (c *current) onListElements35() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onDocumentFragment1145() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElements35() (interface{}, error) { +func (p *parser) callonDocumentFragment1145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements35() + return p.cur.onDocumentFragment1145() } -func (c *current) onListElements40() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) - +func (c *current) onDocumentFragment1148() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements40() (interface{}, error) { +func (p *parser) callonDocumentFragment1148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements40() + return p.cur.onDocumentFragment1148() } -func (c *current) onListElements45(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment1170() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements45() (interface{}, error) { +func (p *parser) callonDocumentFragment1170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements45(stack["prefix"]) + return p.cur.onDocumentFragment1170() } -func (c *current) onListElements8(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onDocumentFragment1175() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElements8() (interface{}, error) { +func (p *parser) callonDocumentFragment1175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements8(stack["prefix"]) + return p.cur.onDocumentFragment1175() } -func (c *current) onListElements53() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentFragment1173(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElements53() (interface{}, error) { +func (p *parser) callonDocumentFragment1173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements53() + return p.cur.onDocumentFragment1173(stack["content"]) } -func (c *current) onListElements57() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1166(content interface{}) (interface{}, error) { + return types.NewInlineTableCell(content.(types.RawLine)) + } -func (p *parser) callonListElements57() (interface{}, error) { +func (p *parser) callonDocumentFragment1166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements57() + return p.cur.onDocumentFragment1166(stack["content"]) } -func (c *current) onListElements49(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) - +func (c *current) onDocumentFragment1179() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements49() (interface{}, error) { +func (p *parser) callonDocumentFragment1179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements49(stack["rawLines"]) + return p.cur.onDocumentFragment1179() } -func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onDocumentFragment1162(cells interface{}) (interface{}, error) { + return cells, nil } -func (p *parser) callonListElements5() (interface{}, error) { +func (p *parser) callonDocumentFragment1162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements5(stack["prefix"], stack["content"]) + return p.cur.onDocumentFragment1162(stack["cells"]) } -func (c *current) onListElements70() (interface{}, error) { +func (c *current) onDocumentFragment1196() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements70() (interface{}, error) { +func (p *parser) callonDocumentFragment1196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements70() + return p.cur.onDocumentFragment1196() } -func (c *current) onListElements73() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onDocumentFragment1199() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElements73() (interface{}, error) { +func (p *parser) callonDocumentFragment1199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements73() + return p.cur.onDocumentFragment1199() } -func (c *current) onListElements78(style interface{}) (bool, error) { +func (c *current) onDocumentFragment1214() (interface{}, error) { - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil + return string(c.text), nil } -func (p *parser) callonListElements78() (bool, error) { +func (p *parser) callonDocumentFragment1214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements78(stack["style"]) + return p.cur.onDocumentFragment1214() } -func (c *current) onListElements79(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment1217() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElements79() (interface{}, error) { +func (p *parser) callonDocumentFragment1217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements79(stack["style"]) + return p.cur.onDocumentFragment1217() } -func (c *current) onListElements67(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +func (c *current) onDocumentFragment1209() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElements67() (interface{}, error) { +func (p *parser) callonDocumentFragment1209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements67(stack["style"]) + return p.cur.onDocumentFragment1209() } -func (c *current) onListElements90() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onDocumentFragment1226() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements90() (interface{}, error) { +func (p *parser) callonDocumentFragment1226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements90() + return p.cur.onDocumentFragment1226() } -func (c *current) onListElements92() (interface{}, error) { - return types.Checked, nil +func (c *current) onDocumentFragment1231() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonListElements92() (interface{}, error) { +func (p *parser) callonDocumentFragment1231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements92() + return p.cur.onDocumentFragment1231() } -func (c *current) onListElements94() (interface{}, error) { - return types.Checked, nil +func (c *current) onDocumentFragment1234() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements94() (interface{}, error) { +func (p *parser) callonDocumentFragment1234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements94() + return p.cur.onDocumentFragment1234() } -func (c *current) onListElements96(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment1248() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements96() (interface{}, error) { +func (p *parser) callonDocumentFragment1248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements96(stack["style"]) + return p.cur.onDocumentFragment1248() } -func (c *current) onListElements84(style interface{}) (interface{}, error) { - return style, nil - +func (c *current) onDocumentFragment1251() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements84() (interface{}, error) { +func (p *parser) callonDocumentFragment1251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements84(stack["style"]) + return p.cur.onDocumentFragment1251() } -func (c *current) onListElements104() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentFragment1266() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElements104() (interface{}, error) { +func (p *parser) callonDocumentFragment1266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements104() + return p.cur.onDocumentFragment1266() } -func (c *current) onListElements108() (interface{}, error) { +func (c *current) onDocumentFragment1269() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements108() (interface{}, error) { +func (p *parser) callonDocumentFragment1269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements108() + return p.cur.onDocumentFragment1269() } -func (c *current) onListElements100(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onDocumentFragment1261() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElements100() (interface{}, error) { +func (p *parser) callonDocumentFragment1261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements100(stack["rawLines"]) + return p.cur.onDocumentFragment1261() } -func (c *current) onListElements64(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) - +func (c *current) onDocumentFragment1280() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements64() (interface{}, error) { +func (p *parser) callonDocumentFragment1280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements64(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onDocumentFragment1280() } -func (c *current) onListElements122() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment1285() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElements122() (interface{}, error) { +func (p *parser) callonDocumentFragment1285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements122() + return p.cur.onDocumentFragment1285() } -func (c *current) onListElements126(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment1290() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElements126() (interface{}, error) { +func (p *parser) callonDocumentFragment1290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements126(stack["ref"]) + return p.cur.onDocumentFragment1290() } -func (c *current) onListElements118(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onDocumentFragment1241(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListElements118() (interface{}, error) { +func (p *parser) callonDocumentFragment1241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements118(stack["ref"]) + return p.cur.onDocumentFragment1241(stack["content"]) } -func (c *current) onListElements134() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentFragment1189(format, content interface{}) (interface{}, error) { + return types.NewMultilineTableCell(content.([]interface{}), format) } -func (p *parser) callonListElements134() (interface{}, error) { +func (p *parser) callonDocumentFragment1189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements134() + return p.cur.onDocumentFragment1189(stack["format"], stack["content"]) } -func (c *current) onListElements138() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1186(cells interface{}) (interface{}, error) { + return cells, nil } -func (p *parser) callonListElements138() (interface{}, error) { +func (p *parser) callonDocumentFragment1186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements138() + return p.cur.onDocumentFragment1186(stack["cells"]) } -func (c *current) onListElements130(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onDocumentFragment1159(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonListElements130() (interface{}, error) { +func (p *parser) callonDocumentFragment1159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements130(stack["rawLines"]) + return p.cur.onDocumentFragment1159(stack["cells"]) } -func (c *current) onListElements115(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onDocumentFragment1302() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElements115() (interface{}, error) { +func (p *parser) callonDocumentFragment1302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements115(stack["ref"], stack["description"]) + return p.cur.onDocumentFragment1302() } -func (c *current) onListElements155() (interface{}, error) { - +func (c *current) onDocumentFragment1305() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElements155() (interface{}, error) { +func (p *parser) callonDocumentFragment1305() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements155() + return p.cur.onDocumentFragment1305() } -func (c *current) onListElements158(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) onDocumentFragment1297() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListElements158() (bool, error) { +func (p *parser) callonDocumentFragment1297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements158(stack["separator"]) + return p.cur.onDocumentFragment1297() } -func (c *current) onListElements152(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onDocumentFragment1138(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonListElements152() (interface{}, error) { +func (p *parser) callonDocumentFragment1138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements152(stack["separator"]) + return p.cur.onDocumentFragment1138(stack["content"]) } -func (c *current) onListElements161() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1316() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListElements161() (interface{}, error) { +func (p *parser) callonDocumentFragment1316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements161() + return p.cur.onDocumentFragment1316() } -func (c *current) onListElements148() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) - +func (c *current) onDocumentFragment1319() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements148() (interface{}, error) { +func (p *parser) callonDocumentFragment1319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements148() + return p.cur.onDocumentFragment1319() } -func (c *current) onListElements173() (interface{}, error) { - - return string(c.text), nil +func (c *current) onDocumentFragment1106(lines interface{}) (interface{}, error) { + return types.NewTable(lines.([]interface{})) } -func (p *parser) callonListElements173() (interface{}, error) { +func (p *parser) callonDocumentFragment1106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements173() + return p.cur.onDocumentFragment1106(stack["lines"]) } -func (c *current) onListElements176(separator interface{}) (bool, error) { +func (c *current) onDocumentFragment1334() (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return string(c.text), nil } -func (p *parser) callonListElements176() (bool, error) { +func (p *parser) callonDocumentFragment1334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements176(stack["separator"]) + return p.cur.onDocumentFragment1334() } -func (c *current) onListElements170(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onDocumentFragment1338() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements170() (interface{}, error) { +func (p *parser) callonDocumentFragment1338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements170(stack["separator"]) + return p.cur.onDocumentFragment1338() } -func (c *current) onListElements182() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1328(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonListElements182() (interface{}, error) { +func (p *parser) callonDocumentFragment1328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements182() + return p.cur.onDocumentFragment1328(stack["content"]) } -func (c *current) onListElements185() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1347() (bool, error) { + return c.isFrontMatterAllowed(), nil + } -func (p *parser) callonListElements185() (interface{}, error) { +func (p *parser) callonDocumentFragment1347() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements185() + return p.cur.onDocumentFragment1347() } -func (c *current) onListElements199() (interface{}, error) { +func (c *current) onDocumentFragment1353() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements199() (interface{}, error) { +func (p *parser) callonDocumentFragment1353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements199() + return p.cur.onDocumentFragment1353() } -func (c *current) onListElements202() (interface{}, error) { +func (c *current) onDocumentFragment1356() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements202() (interface{}, error) { +func (p *parser) callonDocumentFragment1356() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements202() + return p.cur.onDocumentFragment1356() } -func (c *current) onListElements193() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentFragment1373() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElements193() (interface{}, error) { +func (p *parser) callonDocumentFragment1373() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements193() + return p.cur.onDocumentFragment1373() } -func (c *current) onListElements179() (interface{}, error) { - return nil, nil - +func (c *current) onDocumentFragment1376() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements179() (interface{}, error) { +func (p *parser) callonDocumentFragment1376() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements179() + return p.cur.onDocumentFragment1376() } -func (c *current) onListElements211() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment1365() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonListElements211() (interface{}, error) { +func (p *parser) callonDocumentFragment1365() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements211() + return p.cur.onDocumentFragment1365() } -func (c *current) onListElements215() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onDocumentFragment1386() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListElements215() (interface{}, error) { +func (p *parser) callonDocumentFragment1386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements215() + return p.cur.onDocumentFragment1386() } -func (c *current) onListElements219() (interface{}, error) { +func (c *current) onDocumentFragment1389() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements219() (interface{}, error) { +func (p *parser) callonDocumentFragment1389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements219() + return p.cur.onDocumentFragment1389() } -func (c *current) onListElements209(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) - +func (c *current) onDocumentFragment1349(content interface{}) (interface{}, error) { + return types.NewYamlFrontMatter(content.(string)) } -func (p *parser) callonListElements209() (interface{}, error) { +func (p *parser) callonDocumentFragment1349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements209(stack["content"]) + return p.cur.onDocumentFragment1349(stack["content"]) } -func (c *current) onListElements145(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onDocumentFragment1345(frontmatter interface{}) (interface{}, error) { + return frontmatter, nil } -func (p *parser) callonListElements145() (interface{}, error) { +func (p *parser) callonDocumentFragment1345() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements145(stack["term"], stack["separator"], stack["description"]) + return p.cur.onDocumentFragment1345(stack["frontmatter"]) } -func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { - return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) +func (c *current) onDocumentFragment1397(attributes, element interface{}) (bool, error) { + // there must be at least `attributes` or `element` + return attributes != nil || element != nil, nil } -func (p *parser) callonListElements1() (interface{}, error) { +func (p *parser) callonDocumentFragment1397() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) + return p.cur.onDocumentFragment1397(stack["attributes"], stack["element"]) } -func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { - return types.Flatten(elements.([]interface{})), nil +func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { + c.disableFrontMatterRule() // not allowed as soon as a single element is found + c.disableDocumentHeaderRule(element) // 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) callonExtraListElements1() (interface{}, error) { +func (p *parser) callonDocumentFragment1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElements1(stack["elements"]) + return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) } -func (c *current) onExtraListElement17() (interface{}, error) { - return string(c.text), nil +func (c *current) onDelimitedBlockElements3() error { + c.globalStore[withinDelimitedBlockKey] = true + return nil } -func (p *parser) callonExtraListElement17() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements3() error { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement17() + return p.cur.onDelimitedBlockElements3() } -func (c *current) onExtraListElement20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDelimitedBlockElements11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement20() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement20() + return p.cur.onDelimitedBlockElements11() } -func (c *current) onExtraListElement11() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onDelimitedBlockElements7(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExtraListElement11() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement11() + return p.cur.onDelimitedBlockElements7(stack["ref"]) } -func (c *current) onExtraListElement35() (interface{}, error) { - return string(c.text), nil +func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonExtraListElement35() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement35() + return p.cur.onDelimitedBlockElements1(stack["elements"]) } -func (c *current) onExtraListElement42() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onAttributeDeclaration5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement42() (interface{}, error) { +func (p *parser) callonAttributeDeclaration5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement42() + return p.cur.onAttributeDeclaration5() } -func (c *current) onExtraListElement45(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onAttributeDeclaration15() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement45() (bool, error) { +func (p *parser) callonAttributeDeclaration15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement45(stack["depth"]) + return p.cur.onAttributeDeclaration15() } -func (c *current) onExtraListElement39(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) onAttributeDeclaration13(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonExtraListElement39() (interface{}, error) { +func (p *parser) callonAttributeDeclaration13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement39(stack["depth"]) + return p.cur.onAttributeDeclaration13(stack["value"]) } -func (c *current) onExtraListElement46() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - +func (c *current) onAttributeDeclaration21() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement46() (interface{}, error) { +func (p *parser) callonAttributeDeclaration21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement46() + return p.cur.onAttributeDeclaration21() } -func (c *current) onExtraListElement51() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { + return types.NewAttributeDeclaration(name.(string), value, string(c.text)) } -func (p *parser) callonExtraListElement51() (interface{}, error) { +func (p *parser) callonAttributeDeclaration1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement51() + return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) } -func (c *current) onExtraListElement55() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) - +func (c *current) onAttributeDeclarationValue10() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement55() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement55() + return p.cur.onAttributeDeclarationValue10() } -func (c *current) onExtraListElement59() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onAttributeDeclarationValue16() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement59() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement59() + return p.cur.onAttributeDeclarationValue16() } -func (c *current) onExtraListElement64() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onAttributeDeclarationValue7(elements interface{}) (interface{}, error) { + + return elements, nil } -func (p *parser) callonExtraListElement64() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement64() + return p.cur.onAttributeDeclarationValue7(stack["elements"]) } -func (c *current) onExtraListElement69(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onAttributeDeclarationValue1(elements, otherElements interface{}) (interface{}, error) { + if otherElements, ok := otherElements.([]interface{}); ok { + elements = append(elements.([]interface{}), otherElements...) + } + return types.Reduce(elements.([]interface{}), strings.TrimSpace), nil } -func (p *parser) callonExtraListElement69() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement69(stack["prefix"]) + return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) } -func (c *current) onExtraListElement32(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onAttributeDeclarationValueElements1(elements interface{}) (interface{}, error) { + return elements.([]interface{}), nil + } -func (p *parser) callonExtraListElement32() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement32(stack["prefix"]) + return p.cur.onAttributeDeclarationValueElements1(stack["elements"]) } -func (c *current) onExtraListElement77() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onAttributeDeclarationValueElement8() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement77() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement77() + return p.cur.onAttributeDeclarationValueElement8() } -func (c *current) onExtraListElement81() (interface{}, error) { +func (c *current) onAttributeDeclarationValueElement11() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement81() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement81() + return p.cur.onAttributeDeclarationValueElement11() } -func (c *current) onExtraListElement73(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onAttributeDeclarationValueElement21() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement73() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement73(stack["rawLines"]) + return p.cur.onAttributeDeclarationValueElement21() } -func (c *current) onExtraListElement29(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onAttributeDeclarationValueElement26() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters) } -func (p *parser) callonExtraListElement29() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement26() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement29(stack["prefix"], stack["content"]) + return p.cur.onAttributeDeclarationValueElement26() } -func (c *current) onExtraListElement94() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValueElement28() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonExtraListElement94() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement94() + return p.cur.onAttributeDeclarationValueElement28() } -func (c *current) onExtraListElement97() (interface{}, error) { - // `-` or `*` to `*****` - return string(c.text), nil +func (c *current) onAttributeDeclarationValueElement24(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement97() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement97() -} - -func (c *current) onExtraListElement102(style interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil - + return p.cur.onAttributeDeclarationValueElement24(stack["element"]) } -func (p *parser) callonExtraListElement102() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement102(stack["style"]) -} +func (c *current) onAttributeDeclarationValueElement30() (interface{}, error) { -func (c *current) onExtraListElement103(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement103() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement103(stack["style"]) + return p.cur.onAttributeDeclarationValueElement30() } -func (c *current) onExtraListElement91(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +func (c *current) onAttributeDeclarationValueElement34() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonExtraListElement91() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement34() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement91(stack["style"]) + return p.cur.onAttributeDeclarationValueElement34() } -func (c *current) onExtraListElement114() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onAttributeDeclarationValueElement41() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement114() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement114() + return p.cur.onAttributeDeclarationValueElement41() } -func (c *current) onExtraListElement116() (interface{}, error) { - return types.Checked, nil -} +func (c *current) onAttributeDeclarationValueElement37(name interface{}) (interface{}, error) { -func (p *parser) callonExtraListElement116() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement116() -} + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) -func (c *current) onExtraListElement118() (interface{}, error) { - return types.Checked, nil } -func (p *parser) callonExtraListElement118() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement118() + return p.cur.onAttributeDeclarationValueElement37(stack["name"]) } -func (c *current) onExtraListElement120(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onAttributeDeclarationValueElement51() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement120() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement120(stack["style"]) + return p.cur.onAttributeDeclarationValueElement51() } -func (c *current) onExtraListElement108(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onAttributeDeclarationValueElement47(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement108() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement108(stack["style"]) + return p.cur.onAttributeDeclarationValueElement47(stack["name"]) } -func (c *current) onExtraListElement128() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onAttributeDeclarationValueElement61() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement128() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement128() + return p.cur.onAttributeDeclarationValueElement61() } -func (c *current) onExtraListElement132() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValueElement73() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement132() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement132() + return p.cur.onAttributeDeclarationValueElement73() } -func (c *current) onExtraListElement124(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onAttributeDeclarationValueElement75() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement124() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement124(stack["rawLines"]) + return p.cur.onAttributeDeclarationValueElement75() } -func (c *current) onExtraListElement88(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onAttributeDeclarationValueElement68(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement88() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement88(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onAttributeDeclarationValueElement68(stack["start"]) } -func (c *current) onExtraListElement146() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onAttributeDeclarationValueElement57(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement146() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement146() + return p.cur.onAttributeDeclarationValueElement57(stack["name"], stack["start"]) } -func (c *current) onExtraListElement150(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onAttributeDeclarationValueElement83() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement150() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement150(stack["ref"]) + return p.cur.onAttributeDeclarationValueElement83() } -func (c *current) onExtraListElement142(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onAttributeDeclarationValueElement95() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement142() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement142(stack["ref"]) + return p.cur.onAttributeDeclarationValueElement95() } -func (c *current) onExtraListElement158() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onAttributeDeclarationValueElement97() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement158() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement158() + return p.cur.onAttributeDeclarationValueElement97() } -func (c *current) onExtraListElement162() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValueElement90(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonExtraListElement162() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement162() + return p.cur.onAttributeDeclarationValueElement90(stack["start"]) } -func (c *current) onExtraListElement154(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) - +func (c *current) onAttributeDeclarationValueElement79(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement154() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement154(stack["rawLines"]) + return p.cur.onAttributeDeclarationValueElement79(stack["name"], stack["start"]) } -func (c *current) onExtraListElement139(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onAttributeDeclarationValueElement32(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement139() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement139(stack["ref"], stack["description"]) + return p.cur.onAttributeDeclarationValueElement32(stack["element"]) } -func (c *current) onExtraListElement179() (interface{}, error) { +func (c *current) onAttributeDeclarationValueElement1(element interface{}) (interface{}, error) { - return string(c.text), nil + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("new AttributeDeclarationValueElement: %s", spew.Sdump(element)) + } + return element, nil } -func (p *parser) callonExtraListElement179() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValueElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement179() + return p.cur.onAttributeDeclarationValueElement1(stack["element"]) } -func (c *current) onExtraListElement182(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) onBlockAttributes16() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement182() (bool, error) { +func (p *parser) callonBlockAttributes16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement182(stack["separator"]) + return p.cur.onBlockAttributes16() } -func (c *current) onExtraListElement176(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onBlockAttributes23() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement176() (interface{}, error) { +func (p *parser) callonBlockAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement176(stack["separator"]) + return p.cur.onBlockAttributes23() } -func (c *current) onExtraListElement185() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonExtraListElement185() (interface{}, error) { +func (p *parser) callonBlockAttributes19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement185() + return p.cur.onBlockAttributes19(stack["ref"]) } -func (c *current) onExtraListElement172() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onBlockAttributes29() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonExtraListElement172() (interface{}, error) { +func (p *parser) callonBlockAttributes29() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement172() + return p.cur.onBlockAttributes29() } -func (c *current) onExtraListElement197() (interface{}, error) { - +func (c *current) onBlockAttributes36() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement197() (interface{}, error) { +func (p *parser) callonBlockAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement197() + return p.cur.onBlockAttributes36() } -func (c *current) onExtraListElement200(separator interface{}) (bool, error) { +func (c *current) onBlockAttributes32(name interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExtraListElement200() (bool, error) { +func (p *parser) callonBlockAttributes32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement200(stack["separator"]) + return p.cur.onBlockAttributes32(stack["name"]) } -func (c *current) onExtraListElement194(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onBlockAttributes46() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement194() (interface{}, error) { +func (p *parser) callonBlockAttributes46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement194(stack["separator"]) + return p.cur.onBlockAttributes46() } -func (c *current) onExtraListElement206() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes42(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement206() (interface{}, error) { +func (p *parser) callonBlockAttributes42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement206() + return p.cur.onBlockAttributes42(stack["name"]) } -func (c *current) onExtraListElement209() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes56() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement209() (interface{}, error) { +func (p *parser) callonBlockAttributes56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement209() + return p.cur.onBlockAttributes56() } -func (c *current) onExtraListElement223() (interface{}, error) { +func (c *current) onBlockAttributes68() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement223() (interface{}, error) { +func (p *parser) callonBlockAttributes68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement223() + return p.cur.onBlockAttributes68() } -func (c *current) onExtraListElement226() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes70() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement226() (interface{}, error) { +func (p *parser) callonBlockAttributes70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement226() + return p.cur.onBlockAttributes70() } -func (c *current) onExtraListElement217() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onBlockAttributes63(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement217() (interface{}, error) { +func (p *parser) callonBlockAttributes63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement217() + return p.cur.onBlockAttributes63(stack["start"]) } -func (c *current) onExtraListElement203() (interface{}, error) { - return nil, nil - +func (c *current) onBlockAttributes52(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement203() (interface{}, error) { +func (p *parser) callonBlockAttributes52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement203() + return p.cur.onBlockAttributes52(stack["name"], stack["start"]) } -func (c *current) onExtraListElement235() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onBlockAttributes78() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement235() (interface{}, error) { +func (p *parser) callonBlockAttributes78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement235() + return p.cur.onBlockAttributes78() } -func (c *current) onExtraListElement239() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onBlockAttributes90() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement239() (interface{}, error) { +func (p *parser) callonBlockAttributes90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement239() + return p.cur.onBlockAttributes90() } -func (c *current) onExtraListElement243() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes92() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement243() (interface{}, error) { +func (p *parser) callonBlockAttributes92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement243() + return p.cur.onBlockAttributes92() } -func (c *current) onExtraListElement233(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) +func (c *current) onBlockAttributes85(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement233() (interface{}, error) { +func (p *parser) callonBlockAttributes85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement233(stack["content"]) + return p.cur.onBlockAttributes85(stack["start"]) } -func (c *current) onExtraListElement169(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onBlockAttributes74(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonBlockAttributes74() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onBlockAttributes74(stack["name"], stack["start"]) +} + +func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement169() (interface{}, error) { +func (p *parser) callonBlockAttributes27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement169(stack["term"], stack["separator"], stack["description"]) + return p.cur.onBlockAttributes27(stack["element"]) } -func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { +func (c *current) onBlockAttributes96() (interface{}, error) { - return element, nil + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement8() (interface{}, error) { +func (p *parser) callonBlockAttributes96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement8(stack["element"]) + return p.cur.onBlockAttributes96() } -func (c *current) onExtraListElement263() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonExtraListElement263() (interface{}, error) { +func (p *parser) callonBlockAttributes12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement263() + return p.cur.onBlockAttributes12(stack["elements"]) } -func (c *current) onExtraListElement270() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonExtraListElement270() (interface{}, error) { +func (p *parser) callonBlockAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement270() + return p.cur.onBlockAttributes8(stack["id"]) } -func (c *current) onExtraListElement273(depth interface{}) (bool, error) { +func (c *current) onBlockAttributes100() (interface{}, error) { - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil + return string(c.text), nil } -func (p *parser) callonExtraListElement273() (bool, error) { +func (p *parser) callonBlockAttributes100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement273(stack["depth"]) + return p.cur.onBlockAttributes100() } -func (c *current) onExtraListElement267(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) onBlockAttributes103() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement267() (interface{}, error) { +func (p *parser) callonBlockAttributes103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement267(stack["depth"]) + return p.cur.onBlockAttributes103() } -func (c *current) onExtraListElement274() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onBlockAttributes116() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement274() (interface{}, error) { +func (p *parser) callonBlockAttributes116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement274() + return p.cur.onBlockAttributes116() } -func (c *current) onExtraListElement279() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onBlockAttributes119() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement279() (interface{}, error) { +func (p *parser) callonBlockAttributes119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement279() + return p.cur.onBlockAttributes119() } -func (c *current) onExtraListElement283() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onBlockAttributes111() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement283() (interface{}, error) { +func (p *parser) callonBlockAttributes111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement283() + return p.cur.onBlockAttributes111() } -func (c *current) onExtraListElement287() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { + return anchor, nil } -func (p *parser) callonExtraListElement287() (interface{}, error) { +func (p *parser) callonBlockAttributes5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement287() + return p.cur.onBlockAttributes5(stack["anchor"]) } -func (c *current) onExtraListElement292() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onBlockAttributes142() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement292() (interface{}, error) { +func (p *parser) callonBlockAttributes142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement292() + return p.cur.onBlockAttributes142() } -func (c *current) onExtraListElement297(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onBlockAttributes144() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) return string(c.text), nil } -func (p *parser) callonExtraListElement297() (interface{}, error) { +func (p *parser) callonBlockAttributes144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement297(stack["prefix"]) + return p.cur.onBlockAttributes144() } -func (c *current) onExtraListElement260(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onBlockAttributes150() (bool, error) { + + return c.isSubstitutionDisabled(Macros) + } -func (p *parser) callonExtraListElement260() (interface{}, error) { +func (p *parser) callonBlockAttributes150() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement260(stack["prefix"]) + return p.cur.onBlockAttributes150() } -func (c *current) onExtraListElement305() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onBlockAttributes158() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement305() (interface{}, error) { +func (p *parser) callonBlockAttributes158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement305() + return p.cur.onBlockAttributes158() } -func (c *current) onExtraListElement309() (interface{}, error) { +func (c *current) onBlockAttributes160() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement309() (interface{}, error) { +func (p *parser) callonBlockAttributes160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement309() + return p.cur.onBlockAttributes160() } -func (c *current) onExtraListElement301(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onBlockAttributes137() (interface{}, error) { + log.Debugf("new inlineword: '%v'", string(c.text)) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement301() (interface{}, error) { +func (p *parser) callonBlockAttributes137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement301(stack["rawLines"]) + return p.cur.onBlockAttributes137() } -func (c *current) onExtraListElement257(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onBlockAttributes169() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement257() (interface{}, error) { +func (p *parser) callonBlockAttributes169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement257(stack["prefix"], stack["content"]) + return p.cur.onBlockAttributes169() } -func (c *current) onExtraListElement322() (interface{}, error) { +func (c *current) onBlockAttributes178() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement322() (interface{}, error) { +func (p *parser) callonBlockAttributes178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement322() + return p.cur.onBlockAttributes178() } -func (c *current) onExtraListElement325() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onBlockAttributes180() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement325() (interface{}, error) { +func (p *parser) callonBlockAttributes180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement325() + return p.cur.onBlockAttributes180() } -func (c *current) onExtraListElement330(style interface{}) (bool, error) { +func (c *current) onBlockAttributes188() (bool, error) { - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonExtraListElement330() (bool, error) { +func (p *parser) callonBlockAttributes188() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement330(stack["style"]) + return p.cur.onBlockAttributes188() } -func (c *current) onExtraListElement331(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onBlockAttributes191() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonExtraListElement331() (interface{}, error) { +func (p *parser) callonBlockAttributes191() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement331(stack["style"]) + return p.cur.onBlockAttributes191() } -func (c *current) onExtraListElement319(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) - -} +func (c *current) onBlockAttributes194() (bool, error) { -func (p *parser) callonExtraListElement319() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement319(stack["style"]) -} + return c.isSubstitutionDisabled(Quotes) -func (c *current) onExtraListElement342() (interface{}, error) { - return types.Unchecked, nil } -func (p *parser) callonExtraListElement342() (interface{}, error) { +func (p *parser) callonBlockAttributes194() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement342() + return p.cur.onBlockAttributes194() } -func (c *current) onExtraListElement344() (interface{}, error) { - return types.Checked, nil -} +func (c *current) onBlockAttributes197() (bool, error) { -func (p *parser) callonExtraListElement344() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement344() -} + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled -func (c *current) onExtraListElement346() (interface{}, error) { - return types.Checked, nil } -func (p *parser) callonExtraListElement346() (interface{}, error) { +func (p *parser) callonBlockAttributes197() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement346() + return p.cur.onBlockAttributes197() } -func (c *current) onExtraListElement348(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onBlockAttributes171() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) return string(c.text), nil } -func (p *parser) callonExtraListElement348() (interface{}, error) { +func (p *parser) callonBlockAttributes171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement348(stack["style"]) + return p.cur.onBlockAttributes171() } -func (c *current) onExtraListElement336(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onBlockAttributes203() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement336() (interface{}, error) { +func (p *parser) callonBlockAttributes203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement336(stack["style"]) + return p.cur.onBlockAttributes203() } -func (c *current) onExtraListElement356() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onBlockAttributes199(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) callonExtraListElement356() (interface{}, error) { +func (p *parser) callonBlockAttributes199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement356() + return p.cur.onBlockAttributes199(stack["name"]) } -func (c *current) onExtraListElement360() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes213() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement360() (interface{}, error) { +func (p *parser) callonBlockAttributes213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement360() + return p.cur.onBlockAttributes213() } -func (c *current) onExtraListElement352(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onBlockAttributes209(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement352() (interface{}, error) { +func (p *parser) callonBlockAttributes209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement352(stack["rawLines"]) + return p.cur.onBlockAttributes209(stack["name"]) } -func (c *current) onExtraListElement316(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onBlockAttributes219() (interface{}, error) { + + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("matching anychar '%s' at position %v", string(c.text), c.pos.String()) + } + return string(c.text), nil } -func (p *parser) callonExtraListElement316() (interface{}, error) { +func (p *parser) callonBlockAttributes219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement316(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onBlockAttributes219() } -func (c *current) onExtraListElement374() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onBlockAttributes129(elements interface{}) (interface{}, error) { + return types.NewTitleAttribute(types.Reduce(elements, strings.TrimSpace)) + } -func (p *parser) callonExtraListElement374() (interface{}, error) { +func (p *parser) callonBlockAttributes129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement374() + return p.cur.onBlockAttributes129(stack["elements"]) } -func (c *current) onExtraListElement378(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onBlockAttributes222() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement378() (interface{}, error) { +func (p *parser) callonBlockAttributes222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement378(stack["ref"]) + return p.cur.onBlockAttributes222() } -func (c *current) onExtraListElement370(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onBlockAttributes225() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement370() (interface{}, error) { +func (p *parser) callonBlockAttributes225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement370(stack["ref"]) + return p.cur.onBlockAttributes225() } -func (c *current) onExtraListElement386() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onBlockAttributes238() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement386() (interface{}, error) { +func (p *parser) callonBlockAttributes238() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement386() + return p.cur.onBlockAttributes238() } -func (c *current) onExtraListElement390() (interface{}, error) { +func (c *current) onBlockAttributes241() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement390() (interface{}, error) { +func (p *parser) callonBlockAttributes241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement390() + return p.cur.onBlockAttributes241() } -func (c *current) onExtraListElement382(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onBlockAttributes233() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement382() (interface{}, error) { +func (p *parser) callonBlockAttributes233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement382(stack["rawLines"]) + return p.cur.onBlockAttributes233() } -func (c *current) onExtraListElement367(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onBlockAttributes126(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonExtraListElement367() (interface{}, error) { +func (p *parser) callonBlockAttributes126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement367(stack["ref"], stack["description"]) + return p.cur.onBlockAttributes126(stack["title"]) } -func (c *current) onExtraListElement407() (interface{}, error) { +func (c *current) onBlockAttributes253() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement407() (interface{}, error) { +func (p *parser) callonBlockAttributes253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement407() + return p.cur.onBlockAttributes253() } -func (c *current) onExtraListElement410(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) onBlockAttributes256() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement410() (bool, error) { +func (p *parser) callonBlockAttributes256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement410(stack["separator"]) + return p.cur.onBlockAttributes256() } -func (c *current) onExtraListElement404(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onBlockAttributes269() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement404() (interface{}, error) { +func (p *parser) callonBlockAttributes269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement404(stack["separator"]) + return p.cur.onBlockAttributes269() } -func (c *current) onExtraListElement413() (interface{}, error) { +func (c *current) onBlockAttributes272() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement413() (interface{}, error) { +func (p *parser) callonBlockAttributes272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement413() + return p.cur.onBlockAttributes272() } -func (c *current) onExtraListElement400() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onBlockAttributes264() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement400() (interface{}, error) { +func (p *parser) callonBlockAttributes264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement400() + return p.cur.onBlockAttributes264() } -func (c *current) onExtraListElement425() (interface{}, error) { - - return string(c.text), nil +func (c *current) onBlockAttributes248(attributes interface{}) (interface{}, error) { + return attributes, nil } -func (p *parser) callonExtraListElement425() (interface{}, error) { +func (p *parser) callonBlockAttributes248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement425() + return p.cur.onBlockAttributes248(stack["attributes"]) } -func (c *current) onExtraListElement428(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) onBlockAttributes1(attributes interface{}) (interface{}, error) { + // c.unsetCurrentSubstitution() + return types.MergeAttributes(attributes.([]interface{})...) } -func (p *parser) callonExtraListElement428() (bool, error) { +func (p *parser) callonBlockAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement428(stack["separator"]) + return p.cur.onBlockAttributes1(stack["attributes"]) } -func (c *current) onExtraListElement422(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { + return attribute, nil } -func (p *parser) callonExtraListElement422() (interface{}, error) { +func (p *parser) callonInlineAttributes6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement422(stack["separator"]) + return p.cur.onInlineAttributes6(stack["attribute"]) } -func (c *current) onExtraListElement434() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { + return types.NewAttributes(attributes.([]interface{})...) } -func (p *parser) callonExtraListElement434() (interface{}, error) { +func (p *parser) callonInlineAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement434() + return p.cur.onInlineAttributes1(stack["attributes"]) } -func (c *current) onExtraListElement437() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonExtraListElement437() (interface{}, error) { +func (p *parser) callonLongHandAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement437() + return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) } -func (c *current) onExtraListElement451() (interface{}, error) { - return string(c.text), nil +func (c *current) onFirstPositionalAttributes8(extra interface{}) (interface{}, error) { + return extra, nil } -func (p *parser) callonExtraListElement451() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement451() + return p.cur.onFirstPositionalAttributes8(stack["extra"]) } -func (c *current) onExtraListElement454() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onFirstPositionalAttributes23() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement454() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement454() + return p.cur.onFirstPositionalAttributes23() } -func (c *current) onExtraListElement445() (interface{}, error) { - return types.NewBlankLine() +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) callonExtraListElement445() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes25() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement445() + return p.cur.onFirstPositionalAttributes25(stack["main"], stack["extras"]) } -func (c *current) onExtraListElement431() (interface{}, error) { - return nil, nil +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) callonExtraListElement431() (interface{}, error) { +func (p *parser) callonFirstPositionalAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement431() + return p.cur.onFirstPositionalAttributes1(stack["main"], stack["extras"]) } -func (c *current) onExtraListElement463() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onShortHandIDAttribute1(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonExtraListElement463() (interface{}, error) { +func (p *parser) callonShortHandIDAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement463() + return p.cur.onShortHandIDAttribute1(stack["id"]) } -func (c *current) onExtraListElement467() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onShortHandAttribute1(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) } -func (p *parser) callonExtraListElement467() (interface{}, error) { +func (p *parser) callonShortHandAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement467() + return p.cur.onShortHandAttribute1(stack["value"]) } -func (c *current) onExtraListElement471() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortHandDotRoleAttribute1(role interface{}) (interface{}, error) { + return types.NewRoleAttribute(role) + } -func (p *parser) callonExtraListElement471() (interface{}, error) { +func (p *parser) callonShortHandDotRoleAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement471() + return p.cur.onShortHandDotRoleAttribute1(stack["role"]) } -func (c *current) onExtraListElement461(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) +func (c *current) onShortHandOptionAttribute1(option interface{}) (interface{}, error) { + return types.NewOptionAttribute(option) } -func (p *parser) callonExtraListElement461() (interface{}, error) { +func (p *parser) callonShortHandOptionAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement461(stack["content"]) + return p.cur.onShortHandOptionAttribute1(stack["option"]) } -func (c *current) onExtraListElement397(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onShortHandAttributeValue10() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement397() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement397(stack["term"], stack["separator"], stack["description"]) + return p.cur.onShortHandAttributeValue10() } -func (c *current) onExtraListElement250(attributes, element interface{}) (interface{}, error) { +func (c *current) onShortHandAttributeValue15() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) - return append(attributes.([]interface{}), element), nil +} + +func (p *parser) callonShortHandAttributeValue15() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortHandAttributeValue15() +} + +func (c *current) onShortHandAttributeValue22() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement250() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement250(stack["attributes"], stack["element"]) + return p.cur.onShortHandAttributeValue22() } -func (c *current) onExtraListElement485() (interface{}, error) { +func (c *current) onShortHandAttributeValue18(name interface{}) (interface{}, error) { - return string(c.text), nil + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExtraListElement485() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement485() + return p.cur.onShortHandAttributeValue18(stack["name"]) } -func (c *current) onExtraListElement489() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortHandAttributeValue32() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement489() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement489() + return p.cur.onShortHandAttributeValue32() } -func (c *current) onExtraListElement479(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onShortHandAttributeValue28(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement479() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement479(stack["content"]) + return p.cur.onShortHandAttributeValue28(stack["name"]) } -func (c *current) onExtraListElement505() (interface{}, error) { +func (c *current) onShortHandAttributeValue42() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement505() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement505() + return p.cur.onShortHandAttributeValue42() } -func (c *current) onExtraListElement508() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortHandAttributeValue54() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement508() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement508() + return p.cur.onShortHandAttributeValue54() } -func (c *current) onExtraListElement499() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onShortHandAttributeValue56() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement499() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement499() + return p.cur.onShortHandAttributeValue56() } -func (c *current) onExtraListElement519() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortHandAttributeValue49(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement519() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement519() + return p.cur.onShortHandAttributeValue49(stack["start"]) } -func (c *current) onExtraListElement521() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortHandAttributeValue38(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement521() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement521() + return p.cur.onShortHandAttributeValue38(stack["name"], stack["start"]) } -func (c *current) onExtraListElement530() (interface{}, error) { +func (c *current) onShortHandAttributeValue64() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement530() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement530() + return p.cur.onShortHandAttributeValue64() } -func (c *current) onExtraListElement537() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onShortHandAttributeValue76() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement537() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement537() + return p.cur.onShortHandAttributeValue76() } -func (c *current) onExtraListElement540(depth interface{}) (bool, error) { +func (c *current) onShortHandAttributeValue78() (interface{}, error) { - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement540() (bool, error) { +func (p *parser) callonShortHandAttributeValue78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement540(stack["depth"]) + return p.cur.onShortHandAttributeValue78() } -func (c *current) onExtraListElement534(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) onShortHandAttributeValue71(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement534() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement534(stack["depth"]) + return p.cur.onShortHandAttributeValue71(stack["start"]) } -func (c *current) onExtraListElement541() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - +func (c *current) onShortHandAttributeValue60(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement541() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement541() + return p.cur.onShortHandAttributeValue60(stack["name"], stack["start"]) } -func (c *current) onExtraListElement546() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onShortHandAttributeValue13(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement546() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement546() + return p.cur.onShortHandAttributeValue13(stack["element"]) } -func (c *current) onExtraListElement550() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onShortHandAttributeValue82() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement550() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement550() + return p.cur.onShortHandAttributeValue82() } -func (c *current) onExtraListElement554() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onShortHandAttributeValue88() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement554() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement554() + return p.cur.onShortHandAttributeValue88() } -func (c *current) onExtraListElement559() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onShortHandAttributeValue4(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonExtraListElement559() (interface{}, error) { +func (p *parser) callonShortHandAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement559() + return p.cur.onShortHandAttributeValue4(stack["elements"]) } -func (c *current) onExtraListElement564(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onPositionalAttribute11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement564() (interface{}, error) { +func (p *parser) callonPositionalAttribute11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement564(stack["prefix"]) + return p.cur.onPositionalAttribute11() } -func (c *current) onExtraListElement527(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) + } -func (p *parser) callonExtraListElement527() (interface{}, error) { +func (p *parser) callonPositionalAttribute2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement527(stack["prefix"]) + return p.cur.onPositionalAttribute2(stack["value"]) } -func (c *current) onExtraListElement571() (interface{}, error) { +func (c *current) onPositionalAttribute20() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement571() (interface{}, error) { +func (p *parser) callonPositionalAttribute20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement571() + return p.cur.onPositionalAttribute20() } -func (c *current) onExtraListElement574() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onPositionalAttribute26() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement574() (interface{}, error) { +func (p *parser) callonPositionalAttribute26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement574() + return p.cur.onPositionalAttribute26() } -func (c *current) onExtraListElement579(style interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil +func (c *current) onPositionalAttribute30(value interface{}) (bool, error) { + // here we can't rely on `c.text` if the content is empty + // (in such a case, `c.text` contains the char sequence of the previous + // rule that matched) + return !types.AllNilEntries(value.([]interface{})), nil } -func (p *parser) callonExtraListElement579() (bool, error) { +func (p *parser) callonPositionalAttribute30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement579(stack["style"]) + return p.cur.onPositionalAttribute30(stack["value"]) } -func (c *current) onExtraListElement580(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { + + return types.NewPositionalAttribute(nil) } -func (p *parser) callonExtraListElement580() (interface{}, error) { +func (p *parser) callonPositionalAttribute15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement580(stack["style"]) + return p.cur.onPositionalAttribute15(stack["value"]) } -func (c *current) onExtraListElement568(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) - -} +func (c *current) onNamedAttribute7() (interface{}, error) { -func (p *parser) callonExtraListElement568() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement568(stack["style"]) -} + return string(c.text), nil -func (c *current) onExtraListElement588() (interface{}, error) { - return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement588() (interface{}, error) { +func (p *parser) callonNamedAttribute7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement588() + return p.cur.onNamedAttribute7() } -func (c *current) onExtraListElement592(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onNamedAttribute4() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement592() (interface{}, error) { +func (p *parser) callonNamedAttribute4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement592(stack["ref"]) + return p.cur.onNamedAttribute4() } -func (c *current) onExtraListElement584(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onNamedAttribute13() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement584() (interface{}, error) { +func (p *parser) callonNamedAttribute13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement584(stack["ref"]) + return p.cur.onNamedAttribute13() } -func (c *current) onExtraListElement604() (interface{}, error) { +func (c *current) onNamedAttribute21() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement604() (interface{}, error) { +func (p *parser) callonNamedAttribute21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement604() + return p.cur.onNamedAttribute21() } -func (c *current) onExtraListElement607(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) onNamedAttribute1(key, value interface{}) (interface{}, error) { + return types.NewNamedAttribute(key.(string), value) } -func (p *parser) callonExtraListElement607() (bool, error) { +func (p *parser) callonNamedAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement607(stack["separator"]) + return p.cur.onNamedAttribute1(stack["key"], stack["value"]) } -func (c *current) onExtraListElement601(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onAttributeValue12() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement601() (interface{}, error) { +func (p *parser) callonAttributeValue12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement601(stack["separator"]) + return p.cur.onAttributeValue12() } -func (c *current) onExtraListElement610() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { + return value, nil + } -func (p *parser) callonExtraListElement610() (interface{}, error) { +func (p *parser) callonAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement610() + return p.cur.onAttributeValue1(stack["value"]) } -func (c *current) onExtraListElement597() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onSingleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonExtraListElement597() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement597() + return p.cur.onSingleQuotedAttributeValue1(stack["content"]) } -func (c *current) onExtraListElement621() (interface{}, error) { - +func (c *current) onSingleQuotedAttributeValueContent5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement621() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement621() + return p.cur.onSingleQuotedAttributeValueContent5() } -func (c *current) onExtraListElement624(separator interface{}) (bool, error) { +func (c *current) onSingleQuotedAttributeValueContent8() (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return string(c.text), nil } -func (p *parser) callonExtraListElement624() (bool, error) { +func (p *parser) callonSingleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement624(stack["separator"]) + return p.cur.onSingleQuotedAttributeValueContent8() } -func (c *current) onExtraListElement618(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onSingleQuotedAttributeValueContent13() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonExtraListElement618() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement618(stack["separator"]) + return p.cur.onSingleQuotedAttributeValueContent13() } -func (c *current) onExtraListElement635() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onSingleQuotedAttributeValueContent20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement635() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement635() + return p.cur.onSingleQuotedAttributeValueContent20() } -func (c *current) onExtraListElement641() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent16(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) callonExtraListElement641() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement641() + return p.cur.onSingleQuotedAttributeValueContent16(stack["name"]) } -func (c *current) onExtraListElement644() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuotedAttributeValueContent30() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement644() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement644() + return p.cur.onSingleQuotedAttributeValueContent30() } -func (c *current) onExtraListElement632(delimiter interface{}) (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent26(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement632() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement632(stack["delimiter"]) + return p.cur.onSingleQuotedAttributeValueContent26(stack["name"]) } -func (c *current) onExtraListElement654() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onSingleQuotedAttributeValueContent40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement654() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement654() + return p.cur.onSingleQuotedAttributeValueContent40() } -func (c *current) onExtraListElement660() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement660() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement660() + return p.cur.onSingleQuotedAttributeValueContent52() } -func (c *current) onExtraListElement663() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement663() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement663() + return p.cur.onSingleQuotedAttributeValueContent54() } -func (c *current) onExtraListElement651(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent47(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement651() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement651(stack["delimiter"]) + return p.cur.onSingleQuotedAttributeValueContent47(stack["start"]) } -func (c *current) onExtraListElement674() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement674() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement674() + return p.cur.onSingleQuotedAttributeValueContent36(stack["name"], stack["start"]) } -func (c *current) onExtraListElement678() (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement678() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement678() + return p.cur.onSingleQuotedAttributeValueContent62() } -func (c *current) onExtraListElement681() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuotedAttributeValueContent74() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement681() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement681() + return p.cur.onSingleQuotedAttributeValueContent74() } -func (c *current) onExtraListElement670(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onSingleQuotedAttributeValueContent76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement670() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement670(stack["language"]) + return p.cur.onSingleQuotedAttributeValueContent76() } -func (c *current) onExtraListElement691() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent69(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonExtraListElement691() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement691() + return p.cur.onSingleQuotedAttributeValueContent69(stack["start"]) } -func (c *current) onExtraListElement697() (interface{}, error) { - return string(c.text), nil - +func (c *current) onSingleQuotedAttributeValueContent58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement697() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement697() + return p.cur.onSingleQuotedAttributeValueContent58(stack["name"], stack["start"]) } -func (c *current) onExtraListElement700() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonExtraListElement700() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement700() + return p.cur.onSingleQuotedAttributeValueContent11(stack["element"]) } -func (c *current) onExtraListElement688(delimiter interface{}) (interface{}, error) { +func (c *current) onSingleQuotedAttributeValueContent80() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonExtraListElement688() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement688(stack["delimiter"]) + return p.cur.onSingleQuotedAttributeValueContent80() } -func (c *current) onExtraListElement710() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent84() (interface{}, error) { + // quoted string delimiters or standalone backslash + return types.NewStringElement(string(c.text)) // keep as-is for now } -func (p *parser) callonExtraListElement710() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement710() + return p.cur.onSingleQuotedAttributeValueContent84() } -func (c *current) onExtraListElement716() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent86() (interface{}, error) { + // = and , signs are allowed within '' quoted values + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement716() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement716() + return p.cur.onSingleQuotedAttributeValueContent86() } -func (c *current) onExtraListElement719() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil + } -func (p *parser) callonExtraListElement719() (interface{}, error) { +func (p *parser) callonSingleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement719() + return p.cur.onSingleQuotedAttributeValueContent1(stack["elements"]) } -func (c *current) onExtraListElement707(delimiter interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValue13() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return string(c.text), nil } -func (p *parser) callonExtraListElement707() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement707(stack["delimiter"]) + return p.cur.onDoubleQuotedAttributeValue13() } -func (c *current) onExtraListElement729() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValue1(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonExtraListElement729() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement729() + return p.cur.onDoubleQuotedAttributeValue1(stack["content"]) } -func (c *current) onExtraListElement735() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement735() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement735() + return p.cur.onDoubleQuotedAttributeValueContent5() } -func (c *current) onExtraListElement738() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuotedAttributeValueContent8() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement738() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement738() + return p.cur.onDoubleQuotedAttributeValueContent8() } -func (c *current) onExtraListElement726(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDoubleQuotedAttributeValueContent13() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonExtraListElement726() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement726(stack["delimiter"]) + return p.cur.onDoubleQuotedAttributeValueContent13() } -func (c *current) onExtraListElement748() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onDoubleQuotedAttributeValueContent20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement748() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement748() + return p.cur.onDoubleQuotedAttributeValueContent20() } -func (c *current) onExtraListElement754() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent16(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) callonExtraListElement754() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement754() + return p.cur.onDoubleQuotedAttributeValueContent16(stack["name"]) } -func (c *current) onExtraListElement757() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuotedAttributeValueContent30() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement757() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement757() + return p.cur.onDoubleQuotedAttributeValueContent30() } -func (c *current) onExtraListElement745(delimiter interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent26(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement745() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement745(stack["delimiter"]) + return p.cur.onDoubleQuotedAttributeValueContent26(stack["name"]) } -func (c *current) onExtraListElement767() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onDoubleQuotedAttributeValueContent40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement767() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement767() + return p.cur.onDoubleQuotedAttributeValueContent40() } -func (c *current) onExtraListElement773() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement773() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement773() + return p.cur.onDoubleQuotedAttributeValueContent52() } -func (c *current) onExtraListElement776() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement776() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement776() + return p.cur.onDoubleQuotedAttributeValueContent54() } -func (c *current) onExtraListElement764(delimiter interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent47(start interface{}) (interface{}, error) { + return start, nil - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +} + +func (p *parser) callonDoubleQuotedAttributeValueContent47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent47(stack["start"]) +} +func (c *current) onDoubleQuotedAttributeValueContent36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonExtraListElement764() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement764(stack["delimiter"]) + return p.cur.onDoubleQuotedAttributeValueContent36(stack["name"], stack["start"]) } -func (c *current) onExtraListElement786() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onDoubleQuotedAttributeValueContent62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement786() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement786() + return p.cur.onDoubleQuotedAttributeValueContent62() } -func (c *current) onExtraListElement792() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement792() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement792() + return p.cur.onDoubleQuotedAttributeValueContent74() } -func (c *current) onExtraListElement795() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonExtraListElement795() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement795() + return p.cur.onDoubleQuotedAttributeValueContent76() } -func (c *current) onExtraListElement783(delimiter interface{}) (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent69(start interface{}) (interface{}, error) { + return start, nil + +} - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (p *parser) callonDoubleQuotedAttributeValueContent69() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuotedAttributeValueContent69(stack["start"]) +} +func (c *current) onDoubleQuotedAttributeValueContent58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonExtraListElement783() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement783(stack["delimiter"]) + return p.cur.onDoubleQuotedAttributeValueContent58(stack["name"], stack["start"]) } -func (c *current) onExtraListElement626(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onDoubleQuotedAttributeValueContent11(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement626() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement626(stack["delimiter"]) + return p.cur.onDoubleQuotedAttributeValueContent11(stack["element"]) } -func (c *current) onExtraListElement803() (interface{}, error) { +func (c *current) onDoubleQuotedAttributeValueContent80() (interface{}, error) { - return string(c.text), nil + return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonExtraListElement803() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement803() + return p.cur.onDoubleQuotedAttributeValueContent80() } -func (c *current) onExtraListElement807() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuotedAttributeValueContent85() (interface{}, error) { + // quoted string delimiters or standalone backslash or standalone backtick + return types.NewStringElement(string(c.text)) // keep as-is for now + } -func (p *parser) callonExtraListElement807() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement807() + return p.cur.onDoubleQuotedAttributeValueContent85() } -func (c *current) onExtraListElement496(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onDoubleQuotedAttributeValueContent87() (interface{}, error) { + // = and , signs are allowed within " quoted values + return types.NewStringElement(string(c.text)) } -func (p *parser) callonExtraListElement496() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement496(stack["content"]) + return p.cur.onDoubleQuotedAttributeValueContent87() } -func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDoubleQuotedAttributeValueContent1(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonExtraListElement1() (interface{}, error) { +func (p *parser) callonDoubleQuotedAttributeValueContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1(stack["element"]) + return p.cur.onDoubleQuotedAttributeValueContent1(stack["elements"]) } -func (c *current) onListContinuation7() (interface{}, error) { +func (c *current) onUnquotedAttributeValue4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuation7() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation7() + return p.cur.onUnquotedAttributeValue4() } -func (c *current) onListContinuation9() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onUnquotedAttributeValue15() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) + } -func (p *parser) callonListContinuation9() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue15() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation9() + return p.cur.onUnquotedAttributeValue15() } -func (c *current) onListContinuation16() (interface{}, error) { +func (c *current) onUnquotedAttributeValue22() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuation16() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation16() + return p.cur.onUnquotedAttributeValue22() } -func (c *current) onListContinuation18(offset interface{}) (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onUnquotedAttributeValue18(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) callonListContinuation18() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation18(stack["offset"]) + return p.cur.onUnquotedAttributeValue18(stack["name"]) } -func (c *current) onListContinuation1(offset, element interface{}) (interface{}, error) { - return types.NewListContinuation(len(offset.([]interface{})), element) +func (c *current) onUnquotedAttributeValue32() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuation1() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation1(stack["offset"], stack["element"]) + return p.cur.onUnquotedAttributeValue32() } -func (c *current) onListContinuationElement14() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue28(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonListContinuationElement14() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement14() + return p.cur.onUnquotedAttributeValue28(stack["name"]) } -func (c *current) onListContinuationElement21() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onUnquotedAttributeValue42() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement21() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement21() + return p.cur.onUnquotedAttributeValue42() } -func (c *current) onListContinuationElement24(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onUnquotedAttributeValue54() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement24() (bool, error) { +func (p *parser) callonUnquotedAttributeValue54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement24(stack["depth"]) + return p.cur.onUnquotedAttributeValue54() } -func (c *current) onListContinuationElement18(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) onUnquotedAttributeValue56() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement18() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement18(stack["depth"]) + return p.cur.onUnquotedAttributeValue56() } -func (c *current) onListContinuationElement25() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onUnquotedAttributeValue49(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement25() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement25() + return p.cur.onUnquotedAttributeValue49(stack["start"]) } -func (c *current) onListContinuationElement30() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) - +func (c *current) onUnquotedAttributeValue38(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListContinuationElement30() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement30() + return p.cur.onUnquotedAttributeValue38(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement34() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onUnquotedAttributeValue64() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement34() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement34() + return p.cur.onUnquotedAttributeValue64() } -func (c *current) onListContinuationElement38() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onUnquotedAttributeValue76() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement38() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement38() + return p.cur.onUnquotedAttributeValue76() } -func (c *current) onListContinuationElement43() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onUnquotedAttributeValue78() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement43() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement43() + return p.cur.onUnquotedAttributeValue78() } -func (c *current) onListContinuationElement48(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onUnquotedAttributeValue71(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement48() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement48(stack["prefix"]) + return p.cur.onUnquotedAttributeValue71(stack["start"]) } -func (c *current) onListContinuationElement11(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onUnquotedAttributeValue60(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListContinuationElement11() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement11(stack["prefix"]) + return p.cur.onUnquotedAttributeValue60(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement56() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onUnquotedAttributeValue13(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement56() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement56() + return p.cur.onUnquotedAttributeValue13(stack["element"]) } -func (c *current) onListContinuationElement60() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onUnquotedAttributeValue83() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement60() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement60() + return p.cur.onUnquotedAttributeValue83() } -func (c *current) onListContinuationElement52(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onUnquotedAttributeValue85() (interface{}, error) { + // not within brackets and stop on space and quotation marks (`"') + return string(c.text), nil } -func (p *parser) callonListContinuationElement52() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement52(stack["rawLines"]) + return p.cur.onUnquotedAttributeValue85() } -func (c *current) onListContinuationElement8(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonListContinuationElement8() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement8(stack["prefix"], stack["content"]) + return p.cur.onUnquotedAttributeValue1(stack["elements"]) } -func (c *current) onListContinuationElement73() (interface{}, error) { +func (c *current) onCrossReference6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonListContinuationElement73() (interface{}, error) { +func (p *parser) callonCrossReference6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement73() + return p.cur.onCrossReference6() } -func (c *current) onListContinuationElement76() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onCrossReference10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement76() (interface{}, error) { +func (p *parser) callonCrossReference10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement76() + return p.cur.onCrossReference10() } -func (c *current) onListContinuationElement81(style interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil +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) callonListContinuationElement81() (bool, error) { +func (p *parser) callonCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement81(stack["style"]) + return p.cur.onCrossReference16() } -func (c *current) onListContinuationElement82(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onCrossReference25() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement82() (interface{}, error) { +func (p *parser) callonCrossReference25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement82(stack["style"]) + return p.cur.onCrossReference25() } -func (c *current) onListContinuationElement70(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +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) callonListContinuationElement70() (interface{}, error) { +func (p *parser) callonCrossReference21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement70(stack["style"]) + return p.cur.onCrossReference21(stack["name"]) } -func (c *current) onListContinuationElement93() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onCrossReference35() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement93() (interface{}, error) { +func (p *parser) callonCrossReference35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement93() + return p.cur.onCrossReference35() } -func (c *current) onListContinuationElement95() (interface{}, error) { - return types.Checked, nil -} +func (c *current) onCrossReference31(name interface{}) (interface{}, error) { -func (p *parser) callonListContinuationElement95() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement95() -} + return types.NewAttributeReference(name.(string), string(c.text)) -func (c *current) onListContinuationElement97() (interface{}, error) { - return types.Checked, nil } -func (p *parser) callonListContinuationElement97() (interface{}, error) { +func (p *parser) callonCrossReference31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement97() + return p.cur.onCrossReference31(stack["name"]) } -func (c *current) onListContinuationElement99(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onCrossReference41() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement99() (interface{}, error) { +func (p *parser) callonCrossReference41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement99(stack["style"]) + return p.cur.onCrossReference41() } -func (c *current) onListContinuationElement87(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonListContinuationElement87() (interface{}, error) { +func (p *parser) callonCrossReference2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement87(stack["style"]) + return p.cur.onCrossReference2(stack["id"], stack["label"]) } -func (c *current) onListContinuationElement107() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onCrossReference48() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonListContinuationElement107() (interface{}, error) { +func (p *parser) callonCrossReference48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement107() + return p.cur.onCrossReference48() } -func (c *current) onListContinuationElement111() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onCrossReference44(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + } -func (p *parser) callonListContinuationElement111() (interface{}, error) { +func (p *parser) callonCrossReference44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement111() + return p.cur.onCrossReference44(stack["id"]) } -func (c *current) onListContinuationElement103(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onExternalCrossReference16() (interface{}, error) { + // excluding 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) callonListContinuationElement103() (interface{}, error) { +func (p *parser) callonExternalCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement103(stack["rawLines"]) + return p.cur.onExternalCrossReference16() } -func (c *current) onListContinuationElement67(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onExternalCrossReference20() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonListContinuationElement67() (interface{}, error) { +func (p *parser) callonExternalCrossReference20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement67(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onExternalCrossReference20() } -func (c *current) onListContinuationElement125() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onExternalCrossReference31() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonListContinuationElement125() (interface{}, error) { +func (p *parser) callonExternalCrossReference31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement125() + return p.cur.onExternalCrossReference31() } -func (c *current) onListContinuationElement129(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExternalCrossReference41() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement129() (interface{}, error) { +func (p *parser) callonExternalCrossReference41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement129(stack["ref"]) + return p.cur.onExternalCrossReference41() } -func (c *current) onListContinuationElement121(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onExternalCrossReference43() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement121() (interface{}, error) { +func (p *parser) callonExternalCrossReference43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement121(stack["ref"]) + return p.cur.onExternalCrossReference43() } -func (c *current) onListContinuationElement137() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExternalCrossReference51() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonListContinuationElement137() (interface{}, error) { +func (p *parser) callonExternalCrossReference51() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement137() + return p.cur.onExternalCrossReference51() } -func (c *current) onListContinuationElement141() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalCrossReference54() (bool, error) { + + return c.isSubstitutionDisabled(Macros) + } -func (p *parser) callonListContinuationElement141() (interface{}, error) { +func (p *parser) callonExternalCrossReference54() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement141() + return p.cur.onExternalCrossReference54() } -func (c *current) onListContinuationElement133(rawLines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawLines.([]interface{})...) +func (c *current) onExternalCrossReference57() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonListContinuationElement133() (interface{}, error) { +func (p *parser) callonExternalCrossReference57() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement133(stack["rawLines"]) + return p.cur.onExternalCrossReference57() } -func (c *current) onListContinuationElement118(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onExternalCrossReference60() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonListContinuationElement118() (interface{}, error) { +func (p *parser) callonExternalCrossReference60() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement118(stack["ref"], stack["description"]) + return p.cur.onExternalCrossReference60() } -func (c *current) onListContinuationElement158() (interface{}, error) { +func (c *current) onExternalCrossReference34() (interface{}, error) { + log.Debugf("new punctuation: '%v'", string(c.text)) return string(c.text), nil } -func (p *parser) callonListContinuationElement158() (interface{}, error) { +func (p *parser) callonExternalCrossReference34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement158() + return p.cur.onExternalCrossReference34() } -func (c *current) onListContinuationElement161(separator interface{}) (bool, error) { +func (c *current) onExternalCrossReference67() (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return string(c.text), nil } -func (p *parser) callonListContinuationElement161() (bool, error) { +func (p *parser) callonExternalCrossReference67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement161(stack["separator"]) + return p.cur.onExternalCrossReference67() } -func (c *current) onListContinuationElement155(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExternalCrossReference71() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonListContinuationElement155() (interface{}, error) { +func (p *parser) callonExternalCrossReference71() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement155(stack["separator"]) + return p.cur.onExternalCrossReference71() } -func (c *current) onListContinuationElement164() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference78() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement164() (interface{}, error) { +func (p *parser) callonExternalCrossReference78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement164() + return p.cur.onExternalCrossReference78() } -func (c *current) onListContinuationElement151() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onExternalCrossReference74(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) callonListContinuationElement151() (interface{}, error) { +func (p *parser) callonExternalCrossReference74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement151() + return p.cur.onExternalCrossReference74(stack["name"]) } -func (c *current) onListContinuationElement176() (interface{}, error) { - +func (c *current) onExternalCrossReference88() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement176() (interface{}, error) { +func (p *parser) callonExternalCrossReference88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement176() + return p.cur.onExternalCrossReference88() } -func (c *current) onListContinuationElement179(separator interface{}) (bool, error) { +func (c *current) onExternalCrossReference84(name interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonListContinuationElement179() (bool, error) { +func (p *parser) callonExternalCrossReference84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement179(stack["separator"]) + return p.cur.onExternalCrossReference84(stack["name"]) } -func (c *current) onListContinuationElement173(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExternalCrossReference98() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement173() (interface{}, error) { +func (p *parser) callonExternalCrossReference98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement173(stack["separator"]) + return p.cur.onExternalCrossReference98() } -func (c *current) onListContinuationElement185() (interface{}, error) { +func (c *current) onExternalCrossReference110() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement185() (interface{}, error) { +func (p *parser) callonExternalCrossReference110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement185() + return p.cur.onExternalCrossReference110() } -func (c *current) onListContinuationElement188() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalCrossReference112() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonListContinuationElement188() (interface{}, error) { +func (p *parser) callonExternalCrossReference112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement188() + return p.cur.onExternalCrossReference112() } -func (c *current) onListContinuationElement202() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference105(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement202() (interface{}, error) { +func (p *parser) callonExternalCrossReference105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement202() + return p.cur.onExternalCrossReference105(stack["start"]) } -func (c *current) onListContinuationElement205() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalCrossReference94(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListContinuationElement205() (interface{}, error) { +func (p *parser) callonExternalCrossReference94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement205() + return p.cur.onExternalCrossReference94(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement196() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExternalCrossReference120() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement196() (interface{}, error) { +func (p *parser) callonExternalCrossReference120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement196() + return p.cur.onExternalCrossReference120() } -func (c *current) onListContinuationElement182() (interface{}, error) { - return nil, nil +func (c *current) onExternalCrossReference132() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement182() (interface{}, error) { +func (p *parser) callonExternalCrossReference132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement182() + return p.cur.onExternalCrossReference132() } -func (c *current) onListContinuationElement214() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalCrossReference134() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement214() (interface{}, error) { +func (p *parser) callonExternalCrossReference134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement214() + return p.cur.onExternalCrossReference134() } -func (c *current) onListContinuationElement218() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExternalCrossReference127(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement218() (interface{}, error) { +func (p *parser) callonExternalCrossReference127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement218() + return p.cur.onExternalCrossReference127(stack["start"]) } -func (c *current) onListContinuationElement222() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalCrossReference116(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListContinuationElement222() (interface{}, error) { +func (p *parser) callonExternalCrossReference116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement222() + return p.cur.onExternalCrossReference116(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement212(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) +func (c *current) onExternalCrossReference69(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement212() (interface{}, error) { +func (p *parser) callonExternalCrossReference69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement212(stack["content"]) + return p.cur.onExternalCrossReference69(stack["element"]) } -func (c *current) onListContinuationElement148(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onExternalCrossReference138() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement148() (interface{}, error) { +func (p *parser) callonExternalCrossReference138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement148(stack["term"], stack["separator"], stack["description"]) + return p.cur.onExternalCrossReference138() } -func (c *current) onListContinuationElement240() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonListContinuationElement240() (interface{}, error) { +func (p *parser) callonExternalCrossReference9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement240() + return p.cur.onExternalCrossReference9(stack["elements"]) } -func (c *current) onListContinuationElement243() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalCrossReference144() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement243() (interface{}, error) { +func (p *parser) callonExternalCrossReference144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement243() + return p.cur.onExternalCrossReference144() } -func (c *current) onListContinuationElement234() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExternalCrossReference140(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonExternalCrossReference140() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalCrossReference140(stack["ref"]) +} + +func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonListContinuationElement234() (interface{}, error) { +func (p *parser) callonExternalCrossReference5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement234() + return p.cur.onExternalCrossReference5(stack["path"]) } -func (c *current) onListContinuationElement255() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { + return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonListContinuationElement255() (interface{}, error) { +func (p *parser) callonExternalCrossReference1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement255() + return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) } -func (c *current) onListContinuationElement262() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement262() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement262() + return p.cur.onMarkdownQuoteAttribution5() } -func (c *current) onListContinuationElement265() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement265() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement265() + return p.cur.onMarkdownQuoteAttribution9() } -func (c *current) onListContinuationElement251(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { + return author, nil } -func (p *parser) callonListContinuationElement251() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement251(stack["name"]) + return p.cur.onMarkdownQuoteAttribution1(stack["author"]) } -func (c *current) onListContinuationElement276() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader3() (bool, error) { + return c.isDocumentHeaderAllowed(), nil } -func (p *parser) callonListContinuationElement276() (interface{}, error) { +func (p *parser) callonDocumentHeader3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement276() + return p.cur.onDocumentHeader3() } -func (c *current) onListContinuationElement283() (interface{}, error) { +func (c *current) onDocumentHeader12() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement283() (interface{}, error) { +func (p *parser) callonDocumentHeader12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement283() + return p.cur.onDocumentHeader12() } -func (c *current) onListContinuationElement286() (interface{}, error) { +func (c *current) onDocumentHeader16() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement286() (interface{}, error) { +func (p *parser) callonDocumentHeader16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement286() + return p.cur.onDocumentHeader16() } -func (c *current) onListContinuationElement272(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentHeader6(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonListContinuationElement272() (interface{}, error) { +func (p *parser) callonDocumentHeader6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement272(stack["name"]) + return p.cur.onDocumentHeader6(stack["content"]) } -func (c *current) onListContinuationElement298() (interface{}, error) { +func (c *current) onDocumentHeader28() (interface{}, error) { // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement298() (interface{}, error) { +func (p *parser) callonDocumentHeader28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement298() + return p.cur.onDocumentHeader28() } -func (c *current) onListContinuationElement304() (interface{}, error) { +func (c *current) onDocumentHeader34() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement304() (interface{}, error) { +func (p *parser) callonDocumentHeader34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement304() + return p.cur.onDocumentHeader34() } -func (c *current) onListContinuationElement307() (interface{}, error) { +func (c *current) onDocumentHeader37() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement307() (interface{}, error) { +func (p *parser) callonDocumentHeader37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement307() + return p.cur.onDocumentHeader37() } -func (c *current) onListContinuationElement295(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader25(delimiter interface{}) (interface{}, error) { return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement295() (interface{}, error) { +func (p *parser) callonDocumentHeader25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement295(stack["delimiter"]) + return p.cur.onDocumentHeader25(stack["delimiter"]) } -func (c *current) onListContinuationElement323() (interface{}, error) { +func (c *current) onDocumentHeader53() (interface{}, error) { // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement323() (interface{}, error) { +func (p *parser) callonDocumentHeader53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement323() + return p.cur.onDocumentHeader53() } -func (c *current) onListContinuationElement329() (interface{}, error) { +func (c *current) onDocumentHeader59() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement329() (interface{}, error) { +func (p *parser) callonDocumentHeader59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement329() + return p.cur.onDocumentHeader59() } -func (c *current) onListContinuationElement332() (interface{}, error) { +func (c *current) onDocumentHeader62() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement332() (interface{}, error) { +func (p *parser) callonDocumentHeader62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement332() + return p.cur.onDocumentHeader62() } -func (c *current) onListContinuationElement320(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader50(delimiter interface{}) (interface{}, error) { return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement320() (interface{}, error) { +func (p *parser) callonDocumentHeader50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement320(stack["delimiter"]) + return p.cur.onDocumentHeader50(stack["delimiter"]) } -func (c *current) onListContinuationElement348() (interface{}, error) { +func (c *current) onDocumentHeader77() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement348() (interface{}, error) { +func (p *parser) callonDocumentHeader77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement348() + return p.cur.onDocumentHeader77() } -func (c *current) onListContinuationElement352() (interface{}, error) { +func (c *current) onDocumentHeader81() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement352() (interface{}, error) { +func (p *parser) callonDocumentHeader81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement352() + return p.cur.onDocumentHeader81() } -func (c *current) onListContinuationElement342(content interface{}) (interface{}, error) { +func (c *current) onDocumentHeader72(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement342() (interface{}, error) { +func (p *parser) callonDocumentHeader72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement342(stack["content"]) + return p.cur.onDocumentHeader72(stack["content"]) } -func (c *current) onListContinuationElement316(line interface{}) (interface{}, error) { +func (c *current) onDocumentHeader46(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonListContinuationElement316() (interface{}, error) { +func (p *parser) callonDocumentHeader46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement316(stack["line"]) + return p.cur.onDocumentHeader46(stack["line"]) } -func (c *current) onListContinuationElement364() (interface{}, error) { +func (c *current) onDocumentHeader93() (interface{}, error) { // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement364() (interface{}, error) { +func (p *parser) callonDocumentHeader93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement364() + return p.cur.onDocumentHeader93() } -func (c *current) onListContinuationElement370() (interface{}, error) { +func (c *current) onDocumentHeader99() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement370() (interface{}, error) { +func (p *parser) callonDocumentHeader99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement370() + return p.cur.onDocumentHeader99() } -func (c *current) onListContinuationElement373() (interface{}, error) { +func (c *current) onDocumentHeader102() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement373() (interface{}, error) { +func (p *parser) callonDocumentHeader102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement373() + return p.cur.onDocumentHeader102() } -func (c *current) onListContinuationElement361(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader90(delimiter interface{}) (interface{}, error) { return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement361() (interface{}, error) { +func (p *parser) callonDocumentHeader90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement361(stack["delimiter"]) + return p.cur.onDocumentHeader90(stack["delimiter"]) } -func (c *current) onListContinuationElement293(delimiter, content interface{}) (interface{}, error) { +func (c *current) onDocumentHeader23(delimiter, content interface{}) (interface{}, error) { return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonListContinuationElement293() (interface{}, error) { +func (p *parser) callonDocumentHeader23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement293(stack["delimiter"], stack["content"]) -} - -func (c *current) onListContinuationElement388() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil - + return p.cur.onDocumentHeader23(stack["delimiter"], stack["content"]) } -func (p *parser) callonListContinuationElement388() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement388() -} +func (c *current) onDocumentHeader121() (interface{}, error) { -func (c *current) onListContinuationElement394() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement394() (interface{}, error) { +func (p *parser) callonDocumentHeader121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement394() + return p.cur.onDocumentHeader121() } -func (c *current) onListContinuationElement397() (interface{}, error) { +func (c *current) onDocumentHeader125() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement397() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement397() -} - -func (c *current) onListContinuationElement385(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonListContinuationElement385() (interface{}, error) { +func (p *parser) callonDocumentHeader125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement385(stack["delimiter"]) + return p.cur.onDocumentHeader125() } -func (c *current) onListContinuationElement404(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader115(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonListContinuationElement404() (bool, error) { +func (p *parser) callonDocumentHeader115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement404(stack["start"]) + return p.cur.onDocumentHeader115(stack["content"]) } -func (c *current) onListContinuationElement416() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onDocumentHeader137() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement416() (interface{}, error) { +func (p *parser) callonDocumentHeader137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement416() + return p.cur.onDocumentHeader137() } -func (c *current) onListContinuationElement422() (interface{}, error) { +func (c *current) onDocumentHeader143() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement422() (interface{}, error) { +func (p *parser) callonDocumentHeader143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement422() + return p.cur.onDocumentHeader143() } -func (c *current) onListContinuationElement425() (interface{}, error) { +func (c *current) onDocumentHeader146() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement425() (interface{}, error) { +func (p *parser) callonDocumentHeader146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement425() + return p.cur.onDocumentHeader146() } -func (c *current) onListContinuationElement413(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader134(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement413() (interface{}, error) { +func (p *parser) callonDocumentHeader134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement413(stack["delimiter"]) + return p.cur.onDocumentHeader134(stack["delimiter"]) } -func (c *current) onListContinuationElement432(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader162() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement432() (bool, error) { +func (p *parser) callonDocumentHeader162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement432(stack["end"]) + return p.cur.onDocumentHeader162() } -func (c *current) onListContinuationElement442() (interface{}, error) { +func (c *current) onDocumentHeader168() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement442() (interface{}, error) { +func (p *parser) callonDocumentHeader168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement442() + return p.cur.onDocumentHeader168() } -func (c *current) onListContinuationElement446() (interface{}, error) { +func (c *current) onDocumentHeader171() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement446() (interface{}, error) { +func (p *parser) callonDocumentHeader171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement446() -} - -func (c *current) onListContinuationElement436(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - + return p.cur.onDocumentHeader171() } -func (p *parser) callonListContinuationElement436() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement436(stack["content"]) -} +func (c *current) onDocumentHeader159(delimiter interface{}) (interface{}, error) { -func (c *current) onListContinuationElement407(line interface{}) (interface{}, error) { - return line, nil + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement407() (interface{}, error) { +func (p *parser) callonDocumentHeader159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement407(stack["line"]) -} - -func (c *current) onListContinuationElement461() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil - + return p.cur.onDocumentHeader159(stack["delimiter"]) } -func (p *parser) callonListContinuationElement461() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement461() -} +func (c *current) onDocumentHeader186() (interface{}, error) { -func (c *current) onListContinuationElement467() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement467() (interface{}, error) { +func (p *parser) callonDocumentHeader186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement467() + return p.cur.onDocumentHeader186() } -func (c *current) onListContinuationElement470() (interface{}, error) { +func (c *current) onDocumentHeader190() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement470() (interface{}, error) { +func (p *parser) callonDocumentHeader190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement470() + return p.cur.onDocumentHeader190() } -func (c *current) onListContinuationElement458(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader181(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement458() (interface{}, error) { +func (p *parser) callonDocumentHeader181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement458(stack["delimiter"]) + return p.cur.onDocumentHeader181(stack["content"]) } -func (c *current) onListContinuationElement477(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader155(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement477() (bool, error) { +func (p *parser) callonDocumentHeader155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement477(stack["end"]) + return p.cur.onDocumentHeader155(stack["line"]) } -func (c *current) onListContinuationElement382(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Example, content.([]interface{})) +func (c *current) onDocumentHeader202() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement382() (interface{}, error) { +func (p *parser) callonDocumentHeader202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement382(stack["start"], stack["content"], stack["end"]) -} - -func (c *current) onListContinuationElement487() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil + return p.cur.onDocumentHeader202() } -func (p *parser) callonListContinuationElement487() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement487() -} +func (c *current) onDocumentHeader208() (interface{}, error) { -func (c *current) onListContinuationElement491() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement491() (interface{}, error) { +func (p *parser) callonDocumentHeader208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement491() + return p.cur.onDocumentHeader208() } -func (c *current) onListContinuationElement494() (interface{}, error) { +func (c *current) onDocumentHeader211() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement494() (interface{}, error) { +func (p *parser) callonDocumentHeader211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement494() -} - -func (c *current) onListContinuationElement483(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) + return p.cur.onDocumentHeader211() } -func (p *parser) callonListContinuationElement483() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement483(stack["language"]) -} +func (c *current) onDocumentHeader199(delimiter interface{}) (interface{}, error) { -func (c *current) onListContinuationElement509() (interface{}, error) { - return string(c.text), nil + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement509() (interface{}, error) { +func (p *parser) callonDocumentHeader199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement509() + return p.cur.onDocumentHeader199(stack["delimiter"]) } -func (c *current) onListContinuationElement512() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader132(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + } -func (p *parser) callonListContinuationElement512() (interface{}, error) { +func (p *parser) callonDocumentHeader132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement512() + return p.cur.onDocumentHeader132(stack["delimiter"], stack["content"]) } -func (c *current) onListContinuationElement526() (interface{}, error) { +func (c *current) onDocumentHeader230() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement526() (interface{}, error) { +func (p *parser) callonDocumentHeader230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement526() + return p.cur.onDocumentHeader230() } -func (c *current) onListContinuationElement530() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader241() (interface{}, error) { + // no space allowed return string(c.text), nil + } -func (p *parser) callonListContinuationElement530() (interface{}, error) { +func (p *parser) callonDocumentHeader241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement530() + return p.cur.onDocumentHeader241() } -func (c *current) onListContinuationElement520(content interface{}) (interface{}, error) { +func (c *current) onDocumentHeader245() (interface{}, error) { - return types.NewRawLine(content.(string)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement520() (interface{}, error) { +func (p *parser) callonDocumentHeader245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement520(stack["content"]) + return p.cur.onDocumentHeader245() } -func (c *current) onListContinuationElement503(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentHeader249() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonListContinuationElement503() (interface{}, error) { +func (p *parser) callonDocumentHeader249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement503(stack["line"]) + return p.cur.onDocumentHeader249() } -func (c *current) onListContinuationElement541() (interface{}, error) { +func (c *current) onDocumentHeader253() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement541() (interface{}, error) { +func (p *parser) callonDocumentHeader253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement541() + return p.cur.onDocumentHeader253() } -func (c *current) onListContinuationElement544() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader257() (interface{}, error) { + // spaces allowed return string(c.text), nil + } -func (p *parser) callonListContinuationElement544() (interface{}, error) { +func (p *parser) callonDocumentHeader257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement544() + return p.cur.onDocumentHeader257() } -func (c *current) onListContinuationElement480(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) onDocumentHeader261() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement480() (interface{}, error) { +func (p *parser) callonDocumentHeader261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement480(stack["delimiter"], stack["content"]) + return p.cur.onDocumentHeader261() } -func (c *current) onListContinuationElement557() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onDocumentHeader238(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonListContinuationElement557() (interface{}, error) { +func (p *parser) callonDocumentHeader238() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement557() + return p.cur.onDocumentHeader238(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onListContinuationElement563() (interface{}, error) { +func (c *current) onDocumentHeader271() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement563() (interface{}, error) { +func (p *parser) callonDocumentHeader271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement563() + return p.cur.onDocumentHeader271() } -func (c *current) onListContinuationElement566() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader265(email interface{}) (interface{}, error) { + return email, nil + } -func (p *parser) callonListContinuationElement566() (interface{}, error) { +func (p *parser) callonDocumentHeader265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement566() + return p.cur.onDocumentHeader265(stack["email"]) } -func (c *current) onListContinuationElement554(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader276() (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement554() (interface{}, error) { +func (p *parser) callonDocumentHeader276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement554(stack["delimiter"]) + return p.cur.onDocumentHeader276() } -func (c *current) onListContinuationElement573(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader281() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement573() (bool, error) { +func (p *parser) callonDocumentHeader281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement573(stack["start"]) + return p.cur.onDocumentHeader281() } -func (c *current) onListContinuationElement585() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onDocumentHeader283(fullName, email interface{}) (bool, error) { + // at least 1 of [fullName, email] must be defined + return fullName != nil || email != nil, nil } -func (p *parser) callonListContinuationElement585() (interface{}, error) { +func (p *parser) callonDocumentHeader283() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement585() + return p.cur.onDocumentHeader283(stack["fullName"], stack["email"]) } -func (c *current) onListContinuationElement591() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader234(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) } -func (p *parser) callonListContinuationElement591() (interface{}, error) { +func (p *parser) callonDocumentHeader234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement591() + return p.cur.onDocumentHeader234(stack["fullName"], stack["email"]) } -func (c *current) onListContinuationElement594() (interface{}, error) { +func (c *current) onDocumentHeader285() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement594() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement594() -} - -func (c *current) onListContinuationElement582(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonListContinuationElement582() (interface{}, error) { +func (p *parser) callonDocumentHeader285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement582(stack["delimiter"]) + return p.cur.onDocumentHeader285() } -func (c *current) onListContinuationElement601(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - +func (c *current) onDocumentHeader227(authors interface{}) (interface{}, error) { + return types.NewDocumentAuthors(authors.([]interface{})...) } -func (p *parser) callonListContinuationElement601() (bool, error) { +func (p *parser) callonDocumentHeader227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement601(stack["end"]) + return p.cur.onDocumentHeader227(stack["authors"]) } -func (c *current) onListContinuationElement611() (interface{}, error) { +func (c *current) onDocumentHeader300() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement611() (interface{}, error) { +func (p *parser) callonDocumentHeader300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement611() + return p.cur.onDocumentHeader300() } -func (c *current) onListContinuationElement615() (interface{}, error) { +func (c *current) onDocumentHeader304() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement615() (interface{}, error) { +func (p *parser) callonDocumentHeader304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement615() + return p.cur.onDocumentHeader304() } -func (c *current) onListContinuationElement605(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentHeader294(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonListContinuationElement605() (interface{}, error) { +func (p *parser) callonDocumentHeader294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement605(stack["content"]) + return p.cur.onDocumentHeader294(stack["content"]) } -func (c *current) onListContinuationElement576(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentHeader316() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement576() (interface{}, error) { +func (p *parser) callonDocumentHeader316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement576(stack["line"]) + return p.cur.onDocumentHeader316() } -func (c *current) onListContinuationElement630() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onDocumentHeader322() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement630() (interface{}, error) { +func (p *parser) callonDocumentHeader322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement630() + return p.cur.onDocumentHeader322() } -func (c *current) onListContinuationElement636() (interface{}, error) { +func (c *current) onDocumentHeader325() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement636() (interface{}, error) { +func (p *parser) callonDocumentHeader325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement636() + return p.cur.onDocumentHeader325() } -func (c *current) onListContinuationElement639() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader313(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement639() (interface{}, error) { +func (p *parser) callonDocumentHeader313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement639() + return p.cur.onDocumentHeader313(stack["delimiter"]) } -func (c *current) onListContinuationElement627(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentHeader341() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement627() (interface{}, error) { +func (p *parser) callonDocumentHeader341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement627(stack["delimiter"]) + return p.cur.onDocumentHeader341() } -func (c *current) onListContinuationElement646(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader347() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement646() (bool, error) { +func (p *parser) callonDocumentHeader347() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement646(stack["end"]) + return p.cur.onDocumentHeader347() } -func (c *current) onListContinuationElement551(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) - +func (c *current) onDocumentHeader350() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement551() (interface{}, error) { +func (p *parser) callonDocumentHeader350() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement551(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentHeader350() } -func (c *current) onListContinuationElement655() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onDocumentHeader338(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement655() (interface{}, error) { +func (p *parser) callonDocumentHeader338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement655() + return p.cur.onDocumentHeader338(stack["delimiter"]) } -func (c *current) onListContinuationElement661() (interface{}, error) { +func (c *current) onDocumentHeader365() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement661() (interface{}, error) { +func (p *parser) callonDocumentHeader365() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement661() + return p.cur.onDocumentHeader365() } -func (c *current) onListContinuationElement664() (interface{}, error) { +func (c *current) onDocumentHeader369() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement664() (interface{}, error) { +func (p *parser) callonDocumentHeader369() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement664() + return p.cur.onDocumentHeader369() } -func (c *current) onListContinuationElement652(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader360(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement652() (interface{}, error) { +func (p *parser) callonDocumentHeader360() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement652(stack["delimiter"]) + return p.cur.onDocumentHeader360(stack["content"]) } -func (c *current) onListContinuationElement671(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader334(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement671() (bool, error) { +func (p *parser) callonDocumentHeader334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement671(stack["start"]) + return p.cur.onDocumentHeader334(stack["line"]) } -func (c *current) onListContinuationElement683() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onDocumentHeader381() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement683() (interface{}, error) { +func (p *parser) callonDocumentHeader381() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement683() + return p.cur.onDocumentHeader381() } -func (c *current) onListContinuationElement689() (interface{}, error) { +func (c *current) onDocumentHeader387() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement689() (interface{}, error) { +func (p *parser) callonDocumentHeader387() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement689() + return p.cur.onDocumentHeader387() } -func (c *current) onListContinuationElement692() (interface{}, error) { +func (c *current) onDocumentHeader390() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement692() (interface{}, error) { +func (p *parser) callonDocumentHeader390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement692() + return p.cur.onDocumentHeader390() } -func (c *current) onListContinuationElement680(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader378(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement680() (interface{}, error) { +func (p *parser) callonDocumentHeader378() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement680(stack["delimiter"]) + return p.cur.onDocumentHeader378(stack["delimiter"]) } -func (c *current) onListContinuationElement699(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader311(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonListContinuationElement699() (bool, error) { +func (p *parser) callonDocumentHeader311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement699(stack["end"]) + return p.cur.onDocumentHeader311(stack["delimiter"], stack["content"]) } -func (c *current) onListContinuationElement709() (interface{}, error) { +func (c *current) onDocumentHeader404() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement709() (interface{}, error) { +func (p *parser) callonDocumentHeader404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement709() + return p.cur.onDocumentHeader404() } -func (c *current) onListContinuationElement713() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader414() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement713() (interface{}, error) { +func (p *parser) callonDocumentHeader414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement713() + return p.cur.onDocumentHeader414() } -func (c *current) onListContinuationElement703(content interface{}) (interface{}, error) { +func (c *current) onDocumentHeader428() (interface{}, error) { - return types.NewRawLine(content.(string)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement703() (interface{}, error) { +func (p *parser) callonDocumentHeader428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement703(stack["content"]) + return p.cur.onDocumentHeader428() } -func (c *current) onListContinuationElement674(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onDocumentHeader420() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement674() (interface{}, error) { +func (p *parser) callonDocumentHeader420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement674(stack["line"]) + return p.cur.onDocumentHeader420() } -func (c *current) onListContinuationElement728() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onDocumentHeader436() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonListContinuationElement728() (interface{}, error) { +func (p *parser) callonDocumentHeader436() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement728() + return p.cur.onDocumentHeader436() } -func (c *current) onListContinuationElement734() (interface{}, error) { +func (c *current) onDocumentHeader443() (interface{}, error) { return string(c.text), nil +} +func (p *parser) callonDocumentHeader443() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader443() } -func (p *parser) callonListContinuationElement734() (interface{}, error) { +func (c *current) onDocumentHeader410(revnumber, revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(revnumber, revdate, revremark) + +} + +func (p *parser) callonDocumentHeader410() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement734() + return p.cur.onDocumentHeader410(stack["revnumber"], stack["revdate"], stack["revremark"]) } -func (c *current) onListContinuationElement737() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader449() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement737() (interface{}, error) { +func (p *parser) callonDocumentHeader449() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement737() + return p.cur.onDocumentHeader449() } -func (c *current) onListContinuationElement725(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader456() (interface{}, error) { + return string(c.text), nil +} - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (p *parser) callonDocumentHeader456() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader456() +} + +func (c *current) onDocumentHeader446(revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(nil, revdate, revremark) } -func (p *parser) callonListContinuationElement725() (interface{}, error) { +func (p *parser) callonDocumentHeader446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement725(stack["delimiter"]) + return p.cur.onDocumentHeader446(stack["revdate"], stack["revremark"]) } -func (c *current) onListContinuationElement744(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader460() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeader460() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader460() +} +func (c *current) onDocumentHeader401(revision interface{}) (interface{}, error) { + return revision, nil } -func (p *parser) callonListContinuationElement744() (bool, error) { +func (p *parser) callonDocumentHeader401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement744(stack["end"]) + return p.cur.onDocumentHeader401(stack["revision"]) } -func (c *current) onListContinuationElement649(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) +func (c *current) onDocumentHeader222(authors, revision interface{}) (interface{}, error) { + return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) } -func (p *parser) callonListContinuationElement649() (interface{}, error) { +func (p *parser) callonDocumentHeader222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement649(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentHeader222(stack["authors"], stack["revision"]) } -func (c *current) onListContinuationElement753() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentHeader475() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement753() (interface{}, error) { +func (p *parser) callonDocumentHeader475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement753() + return p.cur.onDocumentHeader475() } -func (c *current) onListContinuationElement759() (interface{}, error) { +func (c *current) onDocumentHeader482() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement759() (interface{}, error) { +func (p *parser) callonDocumentHeader482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement759() + return p.cur.onDocumentHeader482() } -func (c *current) onListContinuationElement762() (interface{}, error) { +func (c *current) onDocumentHeader485() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement762() (interface{}, error) { +func (p *parser) callonDocumentHeader485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement762() + return p.cur.onDocumentHeader485() } -func (c *current) onListContinuationElement750(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader471(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +} + +func (p *parser) callonDocumentHeader471() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader471(stack["name"]) +} + +func (c *current) onDocumentHeader496() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement750() (interface{}, error) { +func (p *parser) callonDocumentHeader496() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement750(stack["delimiter"]) + return p.cur.onDocumentHeader496() } -func (c *current) onListContinuationElement769(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader503() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement769() (bool, error) { +func (p *parser) callonDocumentHeader503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement769(stack["start"]) + return p.cur.onDocumentHeader503() } -func (c *current) onListContinuationElement781() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentHeader506() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonDocumentHeader506() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader506() +} + +func (c *current) onDocumentHeader492(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonListContinuationElement781() (interface{}, error) { +func (p *parser) callonDocumentHeader492() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement781() + return p.cur.onDocumentHeader492(stack["name"]) } -func (c *current) onListContinuationElement787() (interface{}, error) { +func (c *current) onDocumentHeader519() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement787() (interface{}, error) { +func (p *parser) callonDocumentHeader519() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement787() + return p.cur.onDocumentHeader519() } -func (c *current) onListContinuationElement790() (interface{}, error) { +func (c *current) onDocumentHeader523() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement790() (interface{}, error) { +func (p *parser) callonDocumentHeader523() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement790() + return p.cur.onDocumentHeader523() } -func (c *current) onListContinuationElement778(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentHeader513(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonListContinuationElement778() (interface{}, error) { +func (p *parser) callonDocumentHeader513() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement778(stack["delimiter"]) + return p.cur.onDocumentHeader513(stack["content"]) } -func (c *current) onListContinuationElement797(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader535() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement797() (bool, error) { +func (p *parser) callonDocumentHeader535() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement797(stack["end"]) + return p.cur.onDocumentHeader535() } -func (c *current) onListContinuationElement807() (interface{}, error) { +func (c *current) onDocumentHeader541() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement807() (interface{}, error) { +func (p *parser) callonDocumentHeader541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement807() + return p.cur.onDocumentHeader541() } -func (c *current) onListContinuationElement811() (interface{}, error) { +func (c *current) onDocumentHeader544() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement811() (interface{}, error) { +func (p *parser) callonDocumentHeader544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement811() + return p.cur.onDocumentHeader544() } -func (c *current) onListContinuationElement801(content interface{}) (interface{}, error) { +func (c *current) onDocumentHeader532(delimiter interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement801() (interface{}, error) { +func (p *parser) callonDocumentHeader532() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement801(stack["content"]) + return p.cur.onDocumentHeader532(stack["delimiter"]) } -func (c *current) onListContinuationElement772(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentHeader560() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement772() (interface{}, error) { +func (p *parser) callonDocumentHeader560() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement772(stack["line"]) + return p.cur.onDocumentHeader560() } -func (c *current) onListContinuationElement826() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentHeader566() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement826() (interface{}, error) { +func (p *parser) callonDocumentHeader566() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement826() + return p.cur.onDocumentHeader566() } -func (c *current) onListContinuationElement832() (interface{}, error) { +func (c *current) onDocumentHeader569() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement832() (interface{}, error) { +func (p *parser) callonDocumentHeader569() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement832() + return p.cur.onDocumentHeader569() } -func (c *current) onListContinuationElement835() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader557(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement835() (interface{}, error) { +func (p *parser) callonDocumentHeader557() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement835() + return p.cur.onDocumentHeader557(stack["delimiter"]) } -func (c *current) onListContinuationElement823(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentHeader584() (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement823() (interface{}, error) { +func (p *parser) callonDocumentHeader584() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement823(stack["delimiter"]) + return p.cur.onDocumentHeader584() } -func (c *current) onListContinuationElement842(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentHeader588() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} +func (p *parser) callonDocumentHeader588() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeader588() } -func (p *parser) callonListContinuationElement842() (bool, error) { +func (c *current) onDocumentHeader579(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonDocumentHeader579() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement842(stack["end"]) + return p.cur.onDocumentHeader579(stack["content"]) } -func (c *current) onListContinuationElement747(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) +func (c *current) onDocumentHeader553(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement747() (interface{}, error) { +func (p *parser) callonDocumentHeader553() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement747(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentHeader553(stack["line"]) } -func (c *current) onListContinuationElement857() (interface{}, error) { +func (c *current) onDocumentHeader600() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement857() (interface{}, error) { +func (p *parser) callonDocumentHeader600() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement857() + return p.cur.onDocumentHeader600() } -func (c *current) onListContinuationElement860() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentHeader606() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement860() (interface{}, error) { +func (p *parser) callonDocumentHeader606() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement860() + return p.cur.onDocumentHeader606() } -func (c *current) onListContinuationElement851() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onDocumentHeader609() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement851() (interface{}, error) { +func (p *parser) callonDocumentHeader609() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement851() + return p.cur.onDocumentHeader609() } -func (c *current) onListContinuationElement869() (interface{}, error) { +func (c *current) onDocumentHeader597(delimiter interface{}) (interface{}, error) { - return string(c.text), nil + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement869() (interface{}, error) { +func (p *parser) callonDocumentHeader597() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement869() + return p.cur.onDocumentHeader597(stack["delimiter"]) } -func (c *current) onListContinuationElement873() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentHeader530(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) + } -func (p *parser) callonListContinuationElement873() (interface{}, error) { +func (p *parser) callonDocumentHeader530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement873() + return p.cur.onDocumentHeader530(stack["delimiter"], stack["content"]) } -func (c *current) onListContinuationElement848(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentHeader1(title, authorsAndRevision, extraElements interface{}) (interface{}, error) { + return types.NewDocumentHeader(title.([]interface{}), authorsAndRevision, extraElements.([]interface{})) } -func (p *parser) callonListContinuationElement848() (interface{}, error) { +func (p *parser) callonDocumentHeader1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement848(stack["content"]) + return p.cur.onDocumentHeader1(stack["title"], stack["authorsAndRevision"], stack["extraElements"]) } -func (c *current) onListContinuationElement892() (interface{}, error) { +func (c *current) onDocumentTitle4() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListContinuationElement892() (interface{}, error) { +func (p *parser) callonDocumentTitle4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement892() + return p.cur.onDocumentTitle4() } -func (c *current) onListContinuationElement895() (interface{}, error) { +func (c *current) onDocumentTitle10() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement895() (interface{}, error) { +func (p *parser) callonDocumentTitle10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement895() + return p.cur.onDocumentTitle10() } -func (c *current) onListContinuationElement886() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onDocumentTitle1(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonListContinuationElement886() (interface{}, error) { +func (p *parser) callonDocumentTitle1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement886() + return p.cur.onDocumentTitle1(stack["title"]) } -func (c *current) onListContinuationElement904() (interface{}, error) { - +func (c *current) onDocumentAuthorFullName4() (interface{}, error) { + // no space allowed return string(c.text), nil } -func (p *parser) callonListContinuationElement904() (interface{}, error) { +func (p *parser) callonDocumentAuthorFullName4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement904() + return p.cur.onDocumentAuthorFullName4() } -func (c *current) onListContinuationElement908() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentAuthorFullName8() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement908() (interface{}, error) { +func (p *parser) callonDocumentAuthorFullName8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement908() + return p.cur.onDocumentAuthorFullName8() } -func (c *current) onListContinuationElement883(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentAuthorFullName12() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonListContinuationElement883() (interface{}, error) { +func (p *parser) callonDocumentAuthorFullName12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement883(stack["content"]) + return p.cur.onDocumentAuthorFullName12() } -func (c *current) onListContinuationElement918() (interface{}, error) { +func (c *current) onDocumentAuthorFullName16() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement918() (interface{}, error) { +func (p *parser) callonDocumentAuthorFullName16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement918() + return p.cur.onDocumentAuthorFullName16() } -func (c *current) onListContinuationElement921(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onDocumentAuthorFullName20() (interface{}, error) { + // spaces allowed + return string(c.text), nil } -func (p *parser) callonListContinuationElement921() (bool, error) { +func (p *parser) callonDocumentAuthorFullName20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement921(stack["content"]) + return p.cur.onDocumentAuthorFullName20() } -func (c *current) onListContinuationElement923() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentAuthorFullName24() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement923() (interface{}, error) { +func (p *parser) callonDocumentAuthorFullName24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement923() + return p.cur.onDocumentAuthorFullName24() } -func (c *current) onListContinuationElement915(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onDocumentAuthorFullName1(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonListContinuationElement915() (interface{}, error) { +func (p *parser) callonDocumentAuthorFullName1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement915(stack["content"]) + return p.cur.onDocumentAuthorFullName1(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onListContinuationElement845(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onInlineButton3() (bool, error) { + return c.isExperimentalEnabled(), nil } -func (p *parser) callonListContinuationElement845() (interface{}, error) { +func (p *parser) callonInlineButton3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement845(stack["firstLine"], stack["otherLines"]) + return p.cur.onInlineButton3() } -func (c *current) onListContinuationElement936() (interface{}, error) { - // sequence of exactly "--" - return string(c.text), nil +func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { + return types.NewInlineButton(attributes.(types.Attributes)) } -func (p *parser) callonListContinuationElement936() (interface{}, error) { +func (p *parser) callonInlineButton1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement936() + return p.cur.onInlineButton1(stack["attributes"]) } -func (c *current) onListContinuationElement939() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineMenu3() (bool, error) { + return c.isExperimentalEnabled(), nil } -func (p *parser) callonListContinuationElement939() (interface{}, error) { +func (p *parser) callonInlineMenu3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement939() + return p.cur.onInlineMenu3() } -func (c *current) onListContinuationElement942() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineMenu6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonListContinuationElement942() (interface{}, error) { +func (p *parser) callonInlineMenu6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement942() + return p.cur.onInlineMenu6() } -func (c *current) onListContinuationElement933(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) +func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { + return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) } -func (p *parser) callonListContinuationElement933() (interface{}, error) { +func (p *parser) callonInlineMenu1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement933(stack["delimiter"]) + return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) } -func (c *current) onListContinuationElement958() (interface{}, error) { - // sequence of exactly "--" - return string(c.text), nil +func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { + return types.NewIndexTerm(term.([]interface{})) } -func (p *parser) callonListContinuationElement958() (interface{}, error) { +func (p *parser) callonIndexTerm1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement958() + return p.cur.onIndexTerm1(stack["term"]) } -func (c *current) onListContinuationElement961() (interface{}, error) { +func (c *current) onIndexTermContent10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement961() (interface{}, error) { +func (p *parser) callonIndexTermContent10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement961() + return p.cur.onIndexTermContent10() } -func (c *current) onListContinuationElement964() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent12() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) return string(c.text), nil + } -func (p *parser) callonListContinuationElement964() (interface{}, error) { +func (p *parser) callonIndexTermContent12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement964() + return p.cur.onIndexTermContent12() } -func (c *current) onListContinuationElement955(delimiter interface{}) (interface{}, error) { +func (c *current) onIndexTermContent18() (bool, error) { - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonListContinuationElement955() (interface{}, error) { +func (p *parser) callonIndexTermContent18() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement955(stack["delimiter"]) + return p.cur.onIndexTermContent18() } -func (c *current) onListContinuationElement980() (interface{}, error) { +func (c *current) onIndexTermContent26() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement980() (interface{}, error) { +func (p *parser) callonIndexTermContent26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement980() + return p.cur.onIndexTermContent26() } -func (c *current) onListContinuationElement984() (interface{}, error) { +func (c *current) onIndexTermContent28() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement984() (interface{}, error) { +func (p *parser) callonIndexTermContent28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement984() + return p.cur.onIndexTermContent28() } -func (c *current) onListContinuationElement974(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onIndexTermContent5() (interface{}, error) { + log.Debugf("new inlineword: '%v'", string(c.text)) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement974() (interface{}, error) { +func (p *parser) callonIndexTermContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement974(stack["content"]) + return p.cur.onIndexTermContent5() } -func (c *current) onListContinuationElement951(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onIndexTermContent38() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement951() (interface{}, error) { +func (p *parser) callonIndexTermContent38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement951(stack["line"]) + return p.cur.onIndexTermContent38() } -func (c *current) onListContinuationElement997() (interface{}, error) { - // sequence of exactly "--" - return string(c.text), nil +func (c *current) onIndexTermContent42() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters) } -func (p *parser) callonListContinuationElement997() (interface{}, error) { +func (p *parser) callonIndexTermContent42() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement997() + return p.cur.onIndexTermContent42() } -func (c *current) onListContinuationElement1000() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent44() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonListContinuationElement1000() (interface{}, error) { +func (p *parser) callonIndexTermContent44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1000() + return p.cur.onIndexTermContent44() } -func (c *current) onListContinuationElement1003() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onIndexTermContent40(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonListContinuationElement1003() (interface{}, error) { +func (p *parser) callonIndexTermContent40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1003() + return p.cur.onIndexTermContent40(stack["element"]) } -func (c *current) onListContinuationElement994(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) - +func (c *current) onIndexTermContent50() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement994() (interface{}, error) { +func (p *parser) callonIndexTermContent50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement994(stack["delimiter"]) + return p.cur.onIndexTermContent50() } -func (c *current) onListContinuationElement930(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Open, content.([]interface{})) - +func (c *current) onIndexTermContent46(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonListContinuationElement930() (interface{}, error) { +func (p *parser) callonIndexTermContent46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement930(stack["start"], stack["content"], stack["end"]) + return p.cur.onIndexTermContent46(stack["ref"]) } -func (c *current) onListContinuationElement1018() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onIndexTermContent54() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonListContinuationElement1018() (interface{}, error) { +func (p *parser) callonIndexTermContent54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1018() + return p.cur.onIndexTermContent54() } -func (c *current) onListContinuationElement1024() (interface{}, error) { - return string(c.text), nil - +func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonListContinuationElement1024() (interface{}, error) { +func (p *parser) callonIndexTermContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1024() + return p.cur.onIndexTermContent1(stack["elements"]) } -func (c *current) onListContinuationElement1027() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock9() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1027() (interface{}, error) { +func (p *parser) callonImageBlock9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1027() + return p.cur.onImageBlock9() } -func (c *current) onListContinuationElement1015(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onImageBlock26() (interface{}, error) { + // excluding 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) callonListContinuationElement1015() (interface{}, error) { +func (p *parser) callonImageBlock26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1015(stack["delimiter"]) + return p.cur.onImageBlock26() } -func (c *current) onListContinuationElement1034(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onImageBlock30() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1034() (bool, error) { +func (p *parser) callonImageBlock30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1034(stack["start"]) + return p.cur.onImageBlock30() } -func (c *current) onListContinuationElement1046() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onImageBlock41() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1046() (interface{}, error) { +func (p *parser) callonImageBlock41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1046() + return p.cur.onImageBlock41() } -func (c *current) onListContinuationElement1052() (interface{}, error) { +func (c *current) onImageBlock51() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1052() (interface{}, error) { +func (p *parser) callonImageBlock51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1052() + return p.cur.onImageBlock51() } -func (c *current) onListContinuationElement1055() (interface{}, error) { +func (c *current) onImageBlock53() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1055() (interface{}, error) { +func (p *parser) callonImageBlock53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1055() + return p.cur.onImageBlock53() } -func (c *current) onListContinuationElement1043(delimiter interface{}) (interface{}, error) { +func (c *current) onImageBlock61() (bool, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonListContinuationElement1043() (interface{}, error) { +func (p *parser) callonImageBlock61() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1043(stack["delimiter"]) + return p.cur.onImageBlock61() } -func (c *current) onListContinuationElement1062(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onImageBlock64() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonListContinuationElement1062() (bool, error) { +func (p *parser) callonImageBlock64() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1062(stack["end"]) + return p.cur.onImageBlock64() } -func (c *current) onListContinuationElement1072() (interface{}, error) { +func (c *current) onImageBlock67() (bool, error) { - return string(c.text), nil + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonListContinuationElement1072() (interface{}, error) { +func (p *parser) callonImageBlock67() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1072() + return p.cur.onImageBlock67() } -func (c *current) onListContinuationElement1076() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock70() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled + +} + +func (p *parser) callonImageBlock70() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onImageBlock70() +} + +func (c *current) onImageBlock44() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) return string(c.text), nil + } -func (p *parser) callonListContinuationElement1076() (interface{}, error) { +func (p *parser) callonImageBlock44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1076() + return p.cur.onImageBlock44() } -func (c *current) onListContinuationElement1066(content interface{}) (interface{}, error) { +func (c *current) onImageBlock77() (interface{}, error) { - return types.NewRawLine(content.(string)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1066() (interface{}, error) { +func (p *parser) callonImageBlock77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1066(stack["content"]) + return p.cur.onImageBlock77() } -func (c *current) onListContinuationElement1037(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onImageBlock81() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonListContinuationElement1037() (interface{}, error) { +func (p *parser) callonImageBlock81() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1037(stack["line"]) + return p.cur.onImageBlock81() } -func (c *current) onListContinuationElement1091() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onImageBlock88() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1091() (interface{}, error) { +func (p *parser) callonImageBlock88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1091() + return p.cur.onImageBlock88() } -func (c *current) onListContinuationElement1097() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock84(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) callonListContinuationElement1097() (interface{}, error) { +func (p *parser) callonImageBlock84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1097() + return p.cur.onImageBlock84(stack["name"]) } -func (c *current) onListContinuationElement1100() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock98() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1100() (interface{}, error) { +func (p *parser) callonImageBlock98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1100() + return p.cur.onImageBlock98() } -func (c *current) onListContinuationElement1088(delimiter interface{}) (interface{}, error) { +func (c *current) onImageBlock94(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonListContinuationElement1088() (interface{}, error) { +func (p *parser) callonImageBlock94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1088(stack["delimiter"]) + return p.cur.onImageBlock94(stack["name"]) } -func (c *current) onListContinuationElement1107(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onImageBlock108() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1107() (bool, error) { +func (p *parser) callonImageBlock108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1107(stack["end"]) + return p.cur.onImageBlock108() } -func (c *current) onListContinuationElement1012(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) +func (c *current) onImageBlock120() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1012() (interface{}, error) { +func (p *parser) callonImageBlock120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1012(stack["start"], stack["content"], stack["end"]) + return p.cur.onImageBlock120() } -func (c *current) onListContinuationElement1116() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onImageBlock122() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1116() (interface{}, error) { +func (p *parser) callonImageBlock122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1116() + return p.cur.onImageBlock122() } -func (c *current) onListContinuationElement1122() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock115(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1122() (interface{}, error) { +func (p *parser) callonImageBlock115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1122() + return p.cur.onImageBlock115(stack["start"]) } -func (c *current) onListContinuationElement1125() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock104(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListContinuationElement1125() (interface{}, error) { +func (p *parser) callonImageBlock104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1125() + return p.cur.onImageBlock104(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1113(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onImageBlock130() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1113() (interface{}, error) { +func (p *parser) callonImageBlock130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1113(stack["delimiter"]) + return p.cur.onImageBlock130() } -func (c *current) onListContinuationElement1132(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onImageBlock142() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1132() (bool, error) { +func (p *parser) callonImageBlock142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1132(stack["start"]) + return p.cur.onImageBlock142() } -func (c *current) onListContinuationElement1144() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onImageBlock144() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1144() (interface{}, error) { +func (p *parser) callonImageBlock144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1144() + return p.cur.onImageBlock144() } -func (c *current) onListContinuationElement1150() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock137(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1150() (interface{}, error) { +func (p *parser) callonImageBlock137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1150() + return p.cur.onImageBlock137(stack["start"]) } -func (c *current) onListContinuationElement1153() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock126(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListContinuationElement1153() (interface{}, error) { +func (p *parser) callonImageBlock126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1153() + return p.cur.onImageBlock126(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1141(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onImageBlock79(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement1141() (interface{}, error) { +func (p *parser) callonImageBlock79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1141(stack["delimiter"]) + return p.cur.onImageBlock79(stack["element"]) } -func (c *current) onListContinuationElement1160(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onImageBlock148() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement1160() (bool, error) { +func (p *parser) callonImageBlock148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1160(stack["end"]) + return p.cur.onImageBlock148() } -func (c *current) onListContinuationElement1170() (interface{}, error) { - - return string(c.text), nil +func (c *current) onImageBlock19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonListContinuationElement1170() (interface{}, error) { +func (p *parser) callonImageBlock19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1170() + return p.cur.onImageBlock19(stack["elements"]) } -func (c *current) onListContinuationElement1174() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock154() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1174() (interface{}, error) { +func (p *parser) callonImageBlock154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1174() + return p.cur.onImageBlock154() } -func (c *current) onListContinuationElement1164(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onImageBlock150(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonListContinuationElement1164() (interface{}, error) { +func (p *parser) callonImageBlock150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1164(stack["content"]) + return p.cur.onImageBlock150(stack["ref"]) } -func (c *current) onListContinuationElement1135(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonListContinuationElement1135() (interface{}, error) { +func (p *parser) callonImageBlock5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1135(stack["line"]) + return p.cur.onImageBlock5(stack["scheme"], stack["path"]) } -func (c *current) onListContinuationElement1189() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onImageBlock161() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1189() (interface{}, error) { +func (p *parser) callonImageBlock161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1189() + return p.cur.onImageBlock161() } -func (c *current) onListContinuationElement1195() (interface{}, error) { +func (c *current) onImageBlock164() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement1195() (interface{}, error) { +func (p *parser) callonImageBlock164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1195() + return p.cur.onImageBlock164() } -func (c *current) onListContinuationElement1198() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonListContinuationElement1198() (interface{}, error) { +func (p *parser) callonImageBlock1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1198() + return p.cur.onImageBlock1(stack["path"], stack["attributes"]) } -func (c *current) onListContinuationElement1186(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) - +func (c *current) onInlineImage11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1186() (interface{}, error) { +func (p *parser) callonInlineImage11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1186(stack["delimiter"]) + return p.cur.onInlineImage11() } -func (c *current) onListContinuationElement1205(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onInlineImage28() (interface{}, error) { + // excluding 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) callonListContinuationElement1205() (bool, error) { +func (p *parser) callonInlineImage28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1205(stack["end"]) + return p.cur.onInlineImage28() } -func (c *current) onListContinuationElement1110(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) +func (c *current) onInlineImage32() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1110() (interface{}, error) { +func (p *parser) callonInlineImage32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1110(stack["start"], stack["content"], stack["end"]) + return p.cur.onInlineImage32() } -func (c *current) onListContinuationElement1214() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onInlineImage43() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1214() (interface{}, error) { +func (p *parser) callonInlineImage43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1214() + return p.cur.onInlineImage43() } -func (c *current) onListContinuationElement1220() (interface{}, error) { +func (c *current) onInlineImage53() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1220() (interface{}, error) { +func (p *parser) callonInlineImage53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1220() + return p.cur.onInlineImage53() } -func (c *current) onListContinuationElement1223() (interface{}, error) { +func (c *current) onInlineImage55() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1223() (interface{}, error) { +func (p *parser) callonInlineImage55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1223() + return p.cur.onInlineImage55() } -func (c *current) onListContinuationElement1211(delimiter interface{}) (interface{}, error) { +func (c *current) onInlineImage63() (bool, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonListContinuationElement1211() (interface{}, error) { +func (p *parser) callonInlineImage63() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1211(stack["delimiter"]) + return p.cur.onInlineImage63() } -func (c *current) onListContinuationElement1230(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onInlineImage66() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonListContinuationElement1230() (bool, error) { +func (p *parser) callonInlineImage66() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1230(stack["start"]) + return p.cur.onInlineImage66() } -func (c *current) onListContinuationElement1242() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onInlineImage69() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonListContinuationElement1242() (interface{}, error) { +func (p *parser) callonInlineImage69() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1242() + return p.cur.onInlineImage69() } -func (c *current) onListContinuationElement1248() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage72() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonListContinuationElement1248() (interface{}, error) { +func (p *parser) callonInlineImage72() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1248() + return p.cur.onInlineImage72() } -func (c *current) onListContinuationElement1251() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineImage46() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) return string(c.text), nil + } -func (p *parser) callonListContinuationElement1251() (interface{}, error) { +func (p *parser) callonInlineImage46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1251() + return p.cur.onInlineImage46() } -func (c *current) onListContinuationElement1239(delimiter interface{}) (interface{}, error) { +func (c *current) onInlineImage79() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1239() (interface{}, error) { +func (p *parser) callonInlineImage79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1239(stack["delimiter"]) + return p.cur.onInlineImage79() } -func (c *current) onListContinuationElement1258(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onInlineImage83() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonListContinuationElement1258() (bool, error) { +func (p *parser) callonInlineImage83() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1258(stack["end"]) + return p.cur.onInlineImage83() } -func (c *current) onListContinuationElement1268() (interface{}, error) { - +func (c *current) onInlineImage90() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1268() (interface{}, error) { +func (p *parser) callonInlineImage90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1268() + return p.cur.onInlineImage90() } -func (c *current) onListContinuationElement1272() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage86(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) callonListContinuationElement1272() (interface{}, error) { +func (p *parser) callonInlineImage86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1272() + return p.cur.onInlineImage86(stack["name"]) } -func (c *current) onListContinuationElement1262(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onInlineImage100() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1262() (interface{}, error) { +func (p *parser) callonInlineImage100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1262(stack["content"]) + return p.cur.onInlineImage100() } -func (c *current) onListContinuationElement1233(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onInlineImage96(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonListContinuationElement1233() (interface{}, error) { +func (p *parser) callonInlineImage96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1233(stack["line"]) + return p.cur.onInlineImage96(stack["name"]) } -func (c *current) onListContinuationElement1287() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onInlineImage110() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1287() (interface{}, error) { +func (p *parser) callonInlineImage110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1287() + return p.cur.onInlineImage110() } -func (c *current) onListContinuationElement1293() (interface{}, error) { +func (c *current) onInlineImage122() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1293() (interface{}, error) { +func (p *parser) callonInlineImage122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1293() + return p.cur.onInlineImage122() } -func (c *current) onListContinuationElement1296() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage124() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonListContinuationElement1296() (interface{}, error) { +func (p *parser) callonInlineImage124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1296() + return p.cur.onInlineImage124() } -func (c *current) onListContinuationElement1284(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onInlineImage117(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1284() (interface{}, error) { +func (p *parser) callonInlineImage117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1284(stack["delimiter"]) + return p.cur.onInlineImage117(stack["start"]) } -func (c *current) onListContinuationElement1303(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - +func (c *current) onInlineImage106(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListContinuationElement1303() (bool, error) { +func (p *parser) callonInlineImage106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1303(stack["end"]) + return p.cur.onInlineImage106(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1208(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) +func (c *current) onInlineImage132() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1208() (interface{}, error) { +func (p *parser) callonInlineImage132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1208(stack["start"], stack["content"], stack["end"]) + return p.cur.onInlineImage132() } -func (c *current) onListContinuationElement1317() (interface{}, error) { +func (c *current) onInlineImage144() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1317() (interface{}, error) { +func (p *parser) callonInlineImage144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1317() + return p.cur.onInlineImage144() } -func (c *current) onListContinuationElement1320() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage146() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonListContinuationElement1320() (interface{}, error) { +func (p *parser) callonInlineImage146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1320() + return p.cur.onInlineImage146() } -func (c *current) onListContinuationElement1328() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage139(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonListContinuationElement1328() (interface{}, error) { +func (p *parser) callonInlineImage139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1328() + return p.cur.onInlineImage139(stack["start"]) } -func (c *current) onListContinuationElement1306() (interface{}, error) { - - return types.NewThematicBreak() - +func (c *current) onInlineImage128(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListContinuationElement1306() (interface{}, error) { +func (p *parser) callonInlineImage128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1306() + return p.cur.onInlineImage128(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1340() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage81(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement1340() (interface{}, error) { +func (p *parser) callonInlineImage81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1340() + return p.cur.onInlineImage81(stack["element"]) } -func (c *current) onListContinuationElement1343() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage150() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonListContinuationElement1343() (interface{}, error) { +func (p *parser) callonInlineImage150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1343() + return p.cur.onInlineImage150() } -func (c *current) onListContinuationElement1359() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage21(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonListContinuationElement1359() (interface{}, error) { +func (p *parser) callonInlineImage21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1359() + return p.cur.onInlineImage21(stack["elements"]) } -func (c *current) onListContinuationElement1362() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineImage156() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1362() (interface{}, error) { +func (p *parser) callonInlineImage156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1362() + return p.cur.onInlineImage156() } -func (c *current) onListContinuationElement1353() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onInlineImage152(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonListContinuationElement1353() (interface{}, error) { +func (p *parser) callonInlineImage152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1353() + return p.cur.onInlineImage152(stack["ref"]) } -func (c *current) onListContinuationElement1376() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonListContinuationElement1376() (interface{}, error) { +func (p *parser) callonInlineImage7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1376() + return p.cur.onInlineImage7(stack["scheme"], stack["path"]) } -func (c *current) onListContinuationElement1379() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { + return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) + } -func (p *parser) callonListContinuationElement1379() (interface{}, error) { +func (p *parser) callonInlineImage1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1379() + return p.cur.onInlineImage1(stack["path"], stack["attributes"]) } -func (c *current) onListContinuationElement1401() (interface{}, error) { +func (c *current) onInlineIcon5() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonListContinuationElement1401() (interface{}, error) { +func (p *parser) callonInlineIcon5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1401() + return p.cur.onInlineIcon5() } -func (c *current) onListContinuationElement1406() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { + return types.NewIcon(icon.(string), attributes) } -func (p *parser) callonListContinuationElement1406() (interface{}, error) { +func (p *parser) callonInlineIcon1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1406() + return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) } -func (c *current) onListContinuationElement1404(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onInlineFootnote6() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1404() (interface{}, error) { +func (p *parser) callonInlineFootnote6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1404(stack["content"]) + return p.cur.onInlineFootnote6() } -func (c *current) onListContinuationElement1397(content interface{}) (interface{}, error) { - return types.NewInlineTableCell(content.(types.RawLine)) +func (c *current) onInlineFootnote1(ref, elements interface{}) (interface{}, error) { + // TODO: use only this rule with `ref:(FootnoteRef)?` + return types.NewFootnote(ref, elements.([]interface{})) } -func (p *parser) callonListContinuationElement1397() (interface{}, error) { +func (p *parser) callonInlineFootnote1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1397(stack["content"]) + return p.cur.onInlineFootnote1(stack["ref"], stack["elements"]) } -func (c *current) onListContinuationElement1410() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteElements1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + } -func (p *parser) callonListContinuationElement1410() (interface{}, error) { +func (p *parser) callonFootnoteElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1410() + return p.cur.onFootnoteElements1(stack["elements"]) } -func (c *current) onListContinuationElement1393(cells interface{}) (interface{}, error) { +func (c *current) onFootnoteElement12() (interface{}, error) { + + return string(c.text), nil - return cells, nil } -func (p *parser) callonListContinuationElement1393() (interface{}, error) { +func (p *parser) callonFootnoteElement12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1393(stack["cells"]) + return p.cur.onFootnoteElement12() } -func (c *current) onListContinuationElement1427() (interface{}, error) { +func (c *current) onFootnoteElement14() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) return string(c.text), nil } -func (p *parser) callonListContinuationElement1427() (interface{}, error) { +func (p *parser) callonFootnoteElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1427() + return p.cur.onFootnoteElement14() } -func (c *current) onListContinuationElement1430() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteElement20() (bool, error) { + + return c.isSubstitutionDisabled(Macros) + } -func (p *parser) callonListContinuationElement1430() (interface{}, error) { +func (p *parser) callonFootnoteElement20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1430() + return p.cur.onFootnoteElement20() } -func (c *current) onListContinuationElement1446() (interface{}, error) { +func (c *current) onFootnoteElement28() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1446() (interface{}, error) { +func (p *parser) callonFootnoteElement28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1446() + return p.cur.onFootnoteElement28() } -func (c *current) onListContinuationElement1449() (interface{}, error) { +func (c *current) onFootnoteElement30() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1449() (interface{}, error) { +func (p *parser) callonFootnoteElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1449() + return p.cur.onFootnoteElement30() } -func (c *current) onListContinuationElement1440() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onFootnoteElement7() (interface{}, error) { + log.Debugf("new inlineword: '%v'", string(c.text)) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement1440() (interface{}, error) { +func (p *parser) callonFootnoteElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1440() + return p.cur.onFootnoteElement7() } -func (c *current) onListContinuationElement1458() (interface{}, error) { +func (c *current) onFootnoteElement39() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListContinuationElement1458() (interface{}, error) { +func (p *parser) callonFootnoteElement39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1458() + return p.cur.onFootnoteElement39() } -func (c *current) onListContinuationElement1463() (interface{}, error) { +func (c *current) onFootnoteElement42() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) return string(c.text), nil } -func (p *parser) callonListContinuationElement1463() (interface{}, error) { +func (p *parser) callonFootnoteElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1463() + return p.cur.onFootnoteElement42() } -func (c *current) onListContinuationElement1466() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteElement48() (interface{}, error) { + //log.Debug("matched escaped apostrophe") + return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char + } -func (p *parser) callonListContinuationElement1466() (interface{}, error) { +func (p *parser) callonFootnoteElement48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1466() + return p.cur.onFootnoteElement48() } -func (c *current) onListContinuationElement1480() (interface{}, error) { - return string(c.text), nil +func (c *current) onFootnoteElement55() (bool, error) { + return c.isSubstitutionEnabled(Replacements) } -func (p *parser) callonListContinuationElement1480() (interface{}, error) { +func (p *parser) callonFootnoteElement55() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1480() + return p.cur.onFootnoteElement55() } -func (c *current) onListContinuationElement1483() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteElement56() (bool, error) { + //log.Debugf("TypographicQuote at pos %s", c.pos.String()) + return c.isPrecededByAlphanum(), nil + } -func (p *parser) callonListContinuationElement1483() (interface{}, error) { +func (p *parser) callonFootnoteElement56() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1483() + return p.cur.onFootnoteElement56() } -func (c *current) onListContinuationElement1499() (interface{}, error) { - return string(c.text), nil +func (c *current) onFootnoteElement53() (interface{}, error) { + return types.NewSymbol("'") } -func (p *parser) callonListContinuationElement1499() (interface{}, error) { +func (p *parser) callonFootnoteElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1499() + return p.cur.onFootnoteElement53() } -func (c *current) onListContinuationElement1502() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onFootnoteElement70() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement1502() (interface{}, error) { +func (p *parser) callonFootnoteElement70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1502() + return p.cur.onFootnoteElement70() } -func (c *current) onListContinuationElement1493() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onFootnoteElement72() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1493() (interface{}, error) { +func (p *parser) callonFootnoteElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1493() + return p.cur.onFootnoteElement72() } -func (c *current) onListContinuationElement1513() (interface{}, error) { - return string(c.text), nil +func (c *current) onFootnoteElement80() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled + } -func (p *parser) callonListContinuationElement1513() (interface{}, error) { +func (p *parser) callonFootnoteElement80() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1513() + return p.cur.onFootnoteElement80() } -func (c *current) onListContinuationElement1518() (interface{}, error) { - return string(c.text), nil +func (c *current) onFootnoteElement83() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonListContinuationElement1518() (interface{}, error) { +func (p *parser) callonFootnoteElement83() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1518() + return p.cur.onFootnoteElement83() } -func (c *current) onListContinuationElement1523() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteElement86() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) + } -func (p *parser) callonListContinuationElement1523() (interface{}, error) { +func (p *parser) callonFootnoteElement86() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1523() + return p.cur.onFootnoteElement86() } -func (c *current) onListContinuationElement1473(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onFootnoteElement89() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonListContinuationElement1473() (interface{}, error) { +func (p *parser) callonFootnoteElement89() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1473(stack["content"]) + return p.cur.onFootnoteElement89() } -func (c *current) onListContinuationElement1420(format, content interface{}) (interface{}, error) { - return types.NewMultilineTableCell(content.([]interface{}), format) +func (c *current) onFootnoteElement63() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1420() (interface{}, error) { +func (p *parser) callonFootnoteElement63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1420(stack["format"], stack["content"]) + return p.cur.onFootnoteElement63() } -func (c *current) onListContinuationElement1417(cells interface{}) (interface{}, error) { - return cells, nil +func (c *current) onFootnoteElement93() (bool, error) { + + return c.isSubstitutionEnabled(PostReplacements) + } -func (p *parser) callonListContinuationElement1417() (interface{}, error) { +func (p *parser) callonFootnoteElement93() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1417(stack["cells"]) + return p.cur.onFootnoteElement93() } -func (c *current) onListContinuationElement1390(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onFootnoteElement95() (bool, error) { + + log.Debug("LineBreak") + return c.isPrecededBySpace(), nil } -func (p *parser) callonListContinuationElement1390() (interface{}, error) { +func (p *parser) callonFootnoteElement95() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1390(stack["cells"]) + return p.cur.onFootnoteElement95() } -func (c *current) onListContinuationElement1536() (interface{}, error) { +func (c *current) onFootnoteElement97() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1536() (interface{}, error) { +func (p *parser) callonFootnoteElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1536() + return p.cur.onFootnoteElement97() } -func (c *current) onListContinuationElement1539() (interface{}, error) { +func (c *current) onFootnoteElement101() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1539() (interface{}, error) { +func (p *parser) callonFootnoteElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1539() + return p.cur.onFootnoteElement101() } -func (c *current) onListContinuationElement1530() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onFootnoteElement91() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonListContinuationElement1530() (interface{}, error) { +func (p *parser) callonFootnoteElement91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1530() + return p.cur.onFootnoteElement91() } -func (c *current) onListContinuationElement1369(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onFootnoteElement110() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonListContinuationElement1369() (interface{}, error) { +func (p *parser) callonFootnoteElement110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1369(stack["content"]) + return p.cur.onFootnoteElement110() } -func (c *current) onListContinuationElement1550() (interface{}, error) { +func (c *current) onFootnoteElement117() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1550() (interface{}, error) { +func (p *parser) callonFootnoteElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1550() + return p.cur.onFootnoteElement117() } -func (c *current) onListContinuationElement1553() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} +func (c *current) onFootnoteElement113(name interface{}) (interface{}, error) { -func (p *parser) callonListContinuationElement1553() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement1553() -} - -func (c *current) onListContinuationElement1336(lines interface{}) (interface{}, error) { - return types.NewTable(lines.([]interface{})) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListContinuationElement1336() (interface{}, error) { +func (p *parser) callonFootnoteElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1336(stack["lines"]) + return p.cur.onFootnoteElement113(stack["name"]) } -func (c *current) onListContinuationElement1568() (interface{}, error) { - +func (c *current) onFootnoteElement127() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1568() (interface{}, error) { +func (p *parser) callonFootnoteElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1568() + return p.cur.onFootnoteElement127() } -func (c *current) onListContinuationElement1572() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteElement123(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) + } -func (p *parser) callonListContinuationElement1572() (interface{}, error) { +func (p *parser) callonFootnoteElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1572() + return p.cur.onFootnoteElement123(stack["name"]) } -func (c *current) onListContinuationElement1562(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onFootnoteElement137() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1562() (interface{}, error) { +func (p *parser) callonFootnoteElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1562(stack["content"]) + return p.cur.onFootnoteElement137() } -func (c *current) onListContinuationElement1585() (bool, error) { - return !c.isWithinLiteralParagraph(), nil +func (c *current) onFootnoteElement149() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1585() (bool, error) { +func (p *parser) callonFootnoteElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1585() + return p.cur.onFootnoteElement149() } -func (c *current) onListContinuationElement1588() (interface{}, error) { - return types.Tip, nil +func (c *current) onFootnoteElement151() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1588() (interface{}, error) { +func (p *parser) callonFootnoteElement151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1588() + return p.cur.onFootnoteElement151() } -func (c *current) onListContinuationElement1590() (interface{}, error) { - return types.Note, nil +func (c *current) onFootnoteElement144(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1590() (interface{}, error) { +func (p *parser) callonFootnoteElement144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1590() + return p.cur.onFootnoteElement144(stack["start"]) } -func (c *current) onListContinuationElement1592() (interface{}, error) { - return types.Important, nil - +func (c *current) onFootnoteElement133(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListContinuationElement1592() (interface{}, error) { +func (p *parser) callonFootnoteElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1592() + return p.cur.onFootnoteElement133(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1594() (interface{}, error) { - return types.Warning, nil +func (c *current) onFootnoteElement159() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1594() (interface{}, error) { +func (p *parser) callonFootnoteElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1594() + return p.cur.onFootnoteElement159() } -func (c *current) onListContinuationElement1596() (interface{}, error) { - return types.Caution, nil +func (c *current) onFootnoteElement171() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1596() (interface{}, error) { +func (p *parser) callonFootnoteElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1596() + return p.cur.onFootnoteElement171() } -func (c *current) onListContinuationElement1600() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onFootnoteElement173() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1600() (interface{}, error) { +func (p *parser) callonFootnoteElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1600() + return p.cur.onFootnoteElement173() } -func (c *current) onListContinuationElement1598() (interface{}, error) { - // check - return types.LiteralParagraph, nil +func (c *current) onFootnoteElement166(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1598() (interface{}, error) { +func (p *parser) callonFootnoteElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1598() + return p.cur.onFootnoteElement166(stack["start"]) } -func (c *current) onListContinuationElement1583(style interface{}) (interface{}, error) { - return style, nil - +func (c *current) onFootnoteElement155(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListContinuationElement1583() (interface{}, error) { +func (p *parser) callonFootnoteElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1583(stack["style"]) + return p.cur.onFootnoteElement155(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1613() (interface{}, error) { - return string(c.text), nil +func (c *current) onFootnoteElement108(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement1613() (interface{}, error) { +func (p *parser) callonFootnoteElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1613() + return p.cur.onFootnoteElement108(stack["element"]) } -func (c *current) onListContinuationElement1616() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onFootnoteElement179() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters) + } -func (p *parser) callonListContinuationElement1616() (interface{}, error) { +func (p *parser) callonFootnoteElement179() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1616() + return p.cur.onFootnoteElement179() } -func (c *current) onListContinuationElement1607() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onFootnoteElement181() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonListContinuationElement1607() (interface{}, error) { +func (p *parser) callonFootnoteElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1607() + return p.cur.onFootnoteElement181() } -func (c *current) onListContinuationElement1627() (interface{}, error) { - return string(c.text), nil +func (c *current) onFootnoteElement177(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement1627() (interface{}, error) { +func (p *parser) callonFootnoteElement177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1627() + return p.cur.onFootnoteElement177(stack["element"]) } -func (c *current) onListContinuationElement1629() (interface{}, error) { +func (c *current) onFootnoteElement183() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1629() (interface{}, error) { +func (p *parser) callonFootnoteElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1629() + return p.cur.onFootnoteElement183() } -func (c *current) onListContinuationElement1638() (interface{}, error) { +func (c *current) onFootnoteElement188() (interface{}, error) { + + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("matching anychar '%s' at position %v", string(c.text), c.pos.String()) + } return string(c.text), nil } -func (p *parser) callonListContinuationElement1638() (interface{}, error) { +func (p *parser) callonFootnoteElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1638() + return p.cur.onFootnoteElement188() } -func (c *current) onListContinuationElement1645() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onFootnoteElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonListContinuationElement1645() (interface{}, error) { +func (p *parser) callonFootnoteElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1645() + return p.cur.onFootnoteElement1(stack["element"]) } -func (c *current) onListContinuationElement1648(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onPassthroughMacro7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement1648() (bool, error) { +func (p *parser) callonPassthroughMacro7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1648(stack["depth"]) + return p.cur.onPassthroughMacro7() } -func (c *current) onListContinuationElement1642(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) onPassthroughMacro2(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) } -func (p *parser) callonListContinuationElement1642() (interface{}, error) { +func (p *parser) callonPassthroughMacro2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1642(stack["depth"]) + return p.cur.onPassthroughMacro2(stack["content"]) } -func (c *current) onListContinuationElement1649() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onPassthroughMacro17() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement1649() (interface{}, error) { +func (p *parser) callonPassthroughMacro17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1649() + return p.cur.onPassthroughMacro17() } -func (c *current) onListContinuationElement1654() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) } -func (p *parser) callonListContinuationElement1654() (interface{}, error) { +func (p *parser) callonPassthroughMacro10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1654() + return p.cur.onPassthroughMacro10(stack["content"]) } -func (c *current) onListContinuationElement1658() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) - +func (c *current) onLink11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1658() (interface{}, error) { +func (p *parser) callonLink11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1658() + return p.cur.onLink11() } -func (c *current) onListContinuationElement1662() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onLink27() (interface{}, error) { + // excluding 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) callonListContinuationElement1662() (interface{}, error) { +func (p *parser) callonLink27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1662() + return p.cur.onLink27() } -func (c *current) onListContinuationElement1667() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onLink31() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1667() (interface{}, error) { +func (p *parser) callonLink31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1667() + return p.cur.onLink31() } -func (c *current) onListContinuationElement1672(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onLink42() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1672() (interface{}, error) { +func (p *parser) callonLink42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1672(stack["prefix"]) + return p.cur.onLink42() } -func (c *current) onListContinuationElement1635(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onLink52() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonListContinuationElement1635() (interface{}, error) { +func (p *parser) callonLink52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1635(stack["prefix"]) + return p.cur.onLink52() } -func (c *current) onListContinuationElement1679() (interface{}, error) { +func (c *current) onLink54() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement1679() (interface{}, error) { +func (p *parser) callonLink54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1679() + return p.cur.onLink54() } -func (c *current) onListContinuationElement1682() (interface{}, error) { - // `-` or `*` to `*****` - return string(c.text), nil +func (c *current) onLink62() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonListContinuationElement1682() (interface{}, error) { +func (p *parser) callonLink62() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1682() + return p.cur.onLink62() } -func (c *current) onListContinuationElement1687(style interface{}) (bool, error) { +func (c *current) onLink65() (bool, error) { - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonListContinuationElement1687() (bool, error) { +func (p *parser) callonLink65() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1687(stack["style"]) + return p.cur.onLink65() } -func (c *current) onListContinuationElement1688(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onLink68() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonListContinuationElement1688() (interface{}, error) { +func (p *parser) callonLink68() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1688(stack["style"]) + return p.cur.onLink68() } -func (c *current) onListContinuationElement1676(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +func (c *current) onLink71() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonListContinuationElement1676() (interface{}, error) { +func (p *parser) callonLink71() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1676(stack["style"]) + return p.cur.onLink71() } -func (c *current) onListContinuationElement1696() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onLink45() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil + } -func (p *parser) callonListContinuationElement1696() (interface{}, error) { +func (p *parser) callonLink45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1696() + return p.cur.onLink45() } -func (c *current) onListContinuationElement1700(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onLink78() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1700() (interface{}, error) { +func (p *parser) callonLink78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1700(stack["ref"]) + return p.cur.onLink78() } -func (c *current) onListContinuationElement1692(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onLink82() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonListContinuationElement1692() (interface{}, error) { +func (p *parser) callonLink82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1692(stack["ref"]) + return p.cur.onLink82() } -func (c *current) onListContinuationElement1712() (interface{}, error) { - +func (c *current) onLink89() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1712() (interface{}, error) { +func (p *parser) callonLink89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1712() + return p.cur.onLink89() } -func (c *current) onListContinuationElement1715(separator interface{}) (bool, error) { +func (c *current) onLink85(name interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListContinuationElement1715() (bool, error) { +func (p *parser) callonLink85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1715(stack["separator"]) + return p.cur.onLink85(stack["name"]) } -func (c *current) onListContinuationElement1709(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onLink99() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1709() (interface{}, error) { +func (p *parser) callonLink99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1709(stack["separator"]) + return p.cur.onLink99() } -func (c *current) onListContinuationElement1718() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLink95(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) + } -func (p *parser) callonListContinuationElement1718() (interface{}, error) { +func (p *parser) callonLink95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1718() + return p.cur.onLink95(stack["name"]) } -func (c *current) onListContinuationElement1705() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onLink109() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1705() (interface{}, error) { +func (p *parser) callonLink109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1705() + return p.cur.onLink109() } -func (c *current) onListContinuationElement1729() (interface{}, error) { - +func (c *current) onLink121() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1729() (interface{}, error) { +func (p *parser) callonLink121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1729() + return p.cur.onLink121() } -func (c *current) onListContinuationElement1732(separator interface{}) (bool, error) { +func (c *current) onLink123() (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1732() (bool, error) { +func (p *parser) callonLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1732(stack["separator"]) + return p.cur.onLink123() } -func (c *current) onListContinuationElement1726(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onLink116(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1726() (interface{}, error) { +func (p *parser) callonLink116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1726(stack["separator"]) + return p.cur.onLink116(stack["start"]) } -func (c *current) onListContinuationElement1743() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - +func (c *current) onLink105(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListContinuationElement1743() (interface{}, error) { +func (p *parser) callonLink105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1743() + return p.cur.onLink105(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1749() (interface{}, error) { +func (c *current) onLink131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1749() (interface{}, error) { +func (p *parser) callonLink131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1749() + return p.cur.onLink131() } -func (c *current) onListContinuationElement1752() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLink143() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1752() (interface{}, error) { +func (p *parser) callonLink143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1752() + return p.cur.onLink143() } -func (c *current) onListContinuationElement1740(delimiter interface{}) (interface{}, error) { +func (c *current) onLink145() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1740() (interface{}, error) { +func (p *parser) callonLink145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1740(stack["delimiter"]) + return p.cur.onLink145() } -func (c *current) onListContinuationElement1762() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onLink138(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1762() (interface{}, error) { +func (p *parser) callonLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1762() + return p.cur.onLink138(stack["start"]) } -func (c *current) onListContinuationElement1768() (interface{}, error) { - return string(c.text), nil - +func (c *current) onLink127(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListContinuationElement1768() (interface{}, error) { +func (p *parser) callonLink127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1768() + return p.cur.onLink127(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1771() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLink80(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonListContinuationElement1771() (interface{}, error) { +func (p *parser) callonLink80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1771() + return p.cur.onLink80(stack["element"]) } -func (c *current) onListContinuationElement1759(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onLink149() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement1759() (interface{}, error) { +func (p *parser) callonLink149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1759(stack["delimiter"]) + return p.cur.onLink149() } -func (c *current) onListContinuationElement1782() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil +func (c *current) onLink20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + } -func (p *parser) callonListContinuationElement1782() (interface{}, error) { +func (p *parser) callonLink20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1782() + return p.cur.onLink20(stack["elements"]) } -func (c *current) onListContinuationElement1786() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonListContinuationElement1786() (interface{}, error) { +func (p *parser) callonLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1786() + return p.cur.onLink6(stack["scheme"], stack["path"]) } -func (c *current) onListContinuationElement1789() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLink2(url interface{}) (interface{}, error) { + + return types.NewInlineLink(url.(*types.Location), nil) + } -func (p *parser) callonListContinuationElement1789() (interface{}, error) { +func (p *parser) callonLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1789() + return p.cur.onLink2(stack["url"]) } -func (c *current) onListContinuationElement1778(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onLink160() (interface{}, error) { + // `' + return string(c.text), nil + } -func (p *parser) callonListContinuationElement1778() (interface{}, error) { +func (p *parser) callonLink160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1778(stack["language"]) + return p.cur.onLink160() } -func (c *current) onListContinuationElement1799() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onLink163(local interface{}) (bool, error) { + // must not start or end with `.` nor contain `..` + return !strings.HasPrefix(local.(string), ".") && + !strings.HasSuffix(local.(string), ".") && + !strings.Contains(local.(string), ".."), nil } -func (p *parser) callonListContinuationElement1799() (interface{}, error) { +func (p *parser) callonLink163() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1799() + return p.cur.onLink163(stack["local"]) } -func (c *current) onListContinuationElement1805() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink157(local interface{}) (interface{}, error) { + return local, nil } -func (p *parser) callonListContinuationElement1805() (interface{}, error) { +func (p *parser) callonLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1805() + return p.cur.onLink157(stack["local"]) } -func (c *current) onListContinuationElement1808() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLink169() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1808() (interface{}, error) { +func (p *parser) callonLink169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1808() + return p.cur.onLink169() } -func (c *current) onListContinuationElement1796(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +func (c *current) onLink178(domain interface{}) (bool, error) { + // must not end with `-` + return !strings.HasSuffix(domain.(string), "-"), nil } -func (p *parser) callonListContinuationElement1796() (interface{}, error) { +func (p *parser) callonLink178() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1796(stack["delimiter"]) + return p.cur.onLink178(stack["domain"]) } -func (c *current) onListContinuationElement1818() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onLink166(domain interface{}) (interface{}, error) { + return domain, nil } -func (p *parser) callonListContinuationElement1818() (interface{}, error) { +func (p *parser) callonLink166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1818() + return p.cur.onLink166(stack["domain"]) } -func (c *current) onListContinuationElement1824() (interface{}, error) { - return string(c.text), nil - +func (c *current) onLink154(local, domain interface{}) (interface{}, error) { + return types.NewEmailAddressLink(local.(string) + "@" + domain.(string)) } -func (p *parser) callonListContinuationElement1824() (interface{}, error) { +func (p *parser) callonLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1824() + return p.cur.onLink154(stack["local"], stack["domain"]) } -func (c *current) onListContinuationElement1827() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink10() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1827() (interface{}, error) { +func (p *parser) callonRelativeLink10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1827() + return p.cur.onRelativeLink10() } -func (c *current) onListContinuationElement1815(delimiter interface{}) (interface{}, error) { +func (c *current) onRelativeLink27() (interface{}, error) { + // excluding EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) + +} - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (p *parser) callonRelativeLink27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink27() +} + +func (c *current) onRelativeLink31() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1815() (interface{}, error) { +func (p *parser) callonRelativeLink31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1815(stack["delimiter"]) + return p.cur.onRelativeLink31() } -func (c *current) onListContinuationElement1837() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onRelativeLink42() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1837() (interface{}, error) { +func (p *parser) callonRelativeLink42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1837() + return p.cur.onRelativeLink42() } -func (c *current) onListContinuationElement1843() (interface{}, error) { +func (c *current) onRelativeLink52() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1843() (interface{}, error) { +func (p *parser) callonRelativeLink52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1843() + return p.cur.onRelativeLink52() } -func (c *current) onListContinuationElement1846() (interface{}, error) { +func (c *current) onRelativeLink54() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1846() (interface{}, error) { +func (p *parser) callonRelativeLink54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1846() + return p.cur.onRelativeLink54() } -func (c *current) onListContinuationElement1834(delimiter interface{}) (interface{}, error) { +func (c *current) onRelativeLink62() (bool, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonListContinuationElement1834() (interface{}, error) { +func (p *parser) callonRelativeLink62() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1834(stack["delimiter"]) + return p.cur.onRelativeLink62() } -func (c *current) onListContinuationElement1856() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onRelativeLink65() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonListContinuationElement1856() (interface{}, error) { +func (p *parser) callonRelativeLink65() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1856() + return p.cur.onRelativeLink65() } -func (c *current) onListContinuationElement1862() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink68() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonListContinuationElement1862() (interface{}, error) { +func (p *parser) callonRelativeLink68() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1862() + return p.cur.onRelativeLink68() } -func (c *current) onListContinuationElement1865() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink71() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled + } -func (p *parser) callonListContinuationElement1865() (interface{}, error) { +func (p *parser) callonRelativeLink71() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1865() + return p.cur.onRelativeLink71() } -func (c *current) onListContinuationElement1853(delimiter interface{}) (interface{}, error) { +func (c *current) onRelativeLink45() (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil } -func (p *parser) callonListContinuationElement1853() (interface{}, error) { +func (p *parser) callonRelativeLink45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1853(stack["delimiter"]) + return p.cur.onRelativeLink45() } -func (c *current) onListContinuationElement1875() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onRelativeLink78() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1875() (interface{}, error) { +func (p *parser) callonRelativeLink78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1875() + return p.cur.onRelativeLink78() } -func (c *current) onListContinuationElement1881() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink82() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonListContinuationElement1881() (interface{}, error) { +func (p *parser) callonRelativeLink82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1881() + return p.cur.onRelativeLink82() } -func (c *current) onListContinuationElement1884() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink89() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1884() (interface{}, error) { +func (p *parser) callonRelativeLink89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1884() + return p.cur.onRelativeLink89() } -func (c *current) onListContinuationElement1872(delimiter interface{}) (interface{}, error) { +func (c *current) onRelativeLink85(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListContinuationElement1872() (interface{}, error) { +func (p *parser) callonRelativeLink85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1872(stack["delimiter"]) + return p.cur.onRelativeLink85(stack["name"]) } -func (c *current) onListContinuationElement1894() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onRelativeLink99() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1894() (interface{}, error) { +func (p *parser) callonRelativeLink99() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink99() +} + +func (c *current) onRelativeLink95(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) + +} + +func (p *parser) callonRelativeLink95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1894() + return p.cur.onRelativeLink95(stack["name"]) } -func (c *current) onListContinuationElement1900() (interface{}, error) { +func (c *current) onRelativeLink109() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1900() (interface{}, error) { +func (p *parser) callonRelativeLink109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1900() + return p.cur.onRelativeLink109() } -func (c *current) onListContinuationElement1903() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink121() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1903() (interface{}, error) { +func (p *parser) callonRelativeLink121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1903() + return p.cur.onRelativeLink121() } -func (c *current) onListContinuationElement1891(delimiter interface{}) (interface{}, error) { +func (c *current) onRelativeLink123() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1891() (interface{}, error) { +func (p *parser) callonRelativeLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1891(stack["delimiter"]) + return p.cur.onRelativeLink123() } -func (c *current) onListContinuationElement1734(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onRelativeLink116(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1734() (interface{}, error) { +func (p *parser) callonRelativeLink116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1734(stack["delimiter"]) + return p.cur.onRelativeLink116(stack["start"]) +} + +func (c *current) onRelativeLink105(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (c *current) onListContinuationElement1911() (interface{}, error) { +func (p *parser) callonRelativeLink105() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink105(stack["name"], stack["start"]) +} +func (c *current) onRelativeLink131() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1911() (interface{}, error) { +func (p *parser) callonRelativeLink131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1911() + return p.cur.onRelativeLink131() } -func (c *current) onListContinuationElement1915() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink143() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1915() (interface{}, error) { +func (p *parser) callonRelativeLink143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1915() + return p.cur.onRelativeLink143() } -func (c *current) onListContinuationElement1604(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onRelativeLink145() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1604() (interface{}, error) { +func (p *parser) callonRelativeLink145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1604(stack["content"]) + return p.cur.onRelativeLink145() } -func (c *current) onListContinuationElement1579(style, content interface{}) (interface{}, error) { - return types.NewParagraph(style, content) +func (c *current) onRelativeLink138(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1579() (interface{}, error) { +func (p *parser) callonRelativeLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1579(stack["style"], stack["content"]) + return p.cur.onRelativeLink138(stack["start"]) } -func (c *current) onListContinuationElement1(attributes, element interface{}) (interface{}, error) { - if element, ok := element.(types.WithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - return element, nil - +func (c *current) onRelativeLink127(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonListContinuationElement1() (interface{}, error) { +func (p *parser) callonRelativeLink127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1(stack["attributes"], stack["element"]) + return p.cur.onRelativeLink127(stack["name"], stack["start"]) } -func (c *current) onCallout3() (bool, error) { - return c.isSubstitutionEnabled(Callouts), nil +func (c *current) onRelativeLink80(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonCallout3() (bool, error) { +func (p *parser) callonRelativeLink80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout3() + return p.cur.onRelativeLink80(stack["element"]) } -func (c *current) onCallout6() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onRelativeLink149() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonCallout6() (interface{}, error) { +func (p *parser) callonRelativeLink149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout6() + return p.cur.onRelativeLink149() } -func (c *current) onCallout11() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonCallout11() (interface{}, error) { +func (p *parser) callonRelativeLink20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout11() + return p.cur.onRelativeLink20(stack["elements"]) } -func (c *current) onCallout15() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink155() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCallout15() (interface{}, error) { +func (p *parser) callonRelativeLink155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout15() + return p.cur.onRelativeLink155() } -func (c *current) onCallout1(ref interface{}) (interface{}, error) { - return types.NewCallout(ref.(int)) - +func (c *current) onRelativeLink151(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonCallout1() (interface{}, error) { +func (p *parser) callonRelativeLink151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout1(stack["ref"]) + return p.cur.onRelativeLink151(stack["ref"]) } -func (c *current) onShortcutParagraph9() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onRelativeLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonShortcutParagraph9() (interface{}, error) { +func (p *parser) callonRelativeLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph9() + return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) } -func (c *current) onShortcutParagraph16() (bool, error) { - return !c.isWithinLiteralParagraph(), nil +func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonShortcutParagraph16() (bool, error) { +func (p *parser) callonRelativeLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph16() + return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) } -func (c *current) onShortcutParagraph19() (interface{}, error) { - return types.Tip, nil - +func (c *current) onRelativeLink169() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph19() (interface{}, error) { +func (p *parser) callonRelativeLink169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph19() + return p.cur.onRelativeLink169() } -func (c *current) onShortcutParagraph21() (interface{}, error) { - return types.Note, nil +func (c *current) onRelativeLink186() (interface{}, error) { + // excluding 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) callonShortcutParagraph21() (interface{}, error) { +func (p *parser) callonRelativeLink186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph21() + return p.cur.onRelativeLink186() } -func (c *current) onShortcutParagraph23() (interface{}, error) { - return types.Important, nil +func (c *current) onRelativeLink190() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonShortcutParagraph23() (interface{}, error) { +func (p *parser) callonRelativeLink190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph23() + return p.cur.onRelativeLink190() } -func (c *current) onShortcutParagraph25() (interface{}, error) { - return types.Warning, nil +func (c *current) onRelativeLink201() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonShortcutParagraph25() (interface{}, error) { +func (p *parser) callonRelativeLink201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph25() + return p.cur.onRelativeLink201() } -func (c *current) onShortcutParagraph27() (interface{}, error) { - return types.Caution, nil +func (c *current) onRelativeLink211() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonShortcutParagraph27() (interface{}, error) { +func (p *parser) callonRelativeLink211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph27() + return p.cur.onRelativeLink211() } -func (c *current) onShortcutParagraph31() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onRelativeLink213() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonShortcutParagraph31() (interface{}, error) { +func (p *parser) callonRelativeLink213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph31() + return p.cur.onRelativeLink213() } -func (c *current) onShortcutParagraph29() (interface{}, error) { - // check - return types.LiteralParagraph, nil +func (c *current) onRelativeLink221() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonShortcutParagraph29() (interface{}, error) { +func (p *parser) callonRelativeLink221() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph29() + return p.cur.onRelativeLink221() } -func (c *current) onShortcutParagraph14(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onRelativeLink224() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonShortcutParagraph14() (interface{}, error) { +func (p *parser) callonRelativeLink224() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph14(stack["style"]) + return p.cur.onRelativeLink224() } -func (c *current) onShortcutParagraph38() (interface{}, error) { +func (c *current) onRelativeLink227() (bool, error) { - return string(c.text), nil + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonShortcutParagraph38() (interface{}, error) { +func (p *parser) callonRelativeLink227() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph38() + return p.cur.onRelativeLink227() } -func (c *current) onShortcutParagraph41(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onRelativeLink230() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonShortcutParagraph41() (bool, error) { +func (p *parser) callonRelativeLink230() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph41(stack["content"]) + return p.cur.onRelativeLink230() } -func (c *current) onShortcutParagraph43() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink204() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) return string(c.text), nil + } -func (p *parser) callonShortcutParagraph43() (interface{}, error) { +func (p *parser) callonRelativeLink204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph43() + return p.cur.onRelativeLink204() } -func (c *current) onShortcutParagraph35(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onRelativeLink237() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonShortcutParagraph35() (interface{}, error) { +func (p *parser) callonRelativeLink237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph35(stack["content"]) + return p.cur.onRelativeLink237() } -func (c *current) onShortcutParagraph50(style, 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) onRelativeLink241() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonShortcutParagraph50() (bool, error) { +func (p *parser) callonRelativeLink241() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph50(stack["style"], stack["firstLine"]) + return p.cur.onRelativeLink241() } -func (c *current) onShortcutParagraph65() (interface{}, error) { +func (c *current) onRelativeLink248() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph65() (interface{}, error) { +func (p *parser) callonRelativeLink248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph65() + return p.cur.onRelativeLink248() } -func (c *current) onShortcutParagraph68() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink244(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) callonShortcutParagraph68() (interface{}, error) { +func (p *parser) callonRelativeLink244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph68() + return p.cur.onRelativeLink244(stack["name"]) } -func (c *current) onShortcutParagraph59() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onRelativeLink258() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph59() (interface{}, error) { +func (p *parser) callonRelativeLink258() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph59() + return p.cur.onRelativeLink258() } -func (c *current) onShortcutParagraph87() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onRelativeLink254(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonShortcutParagraph87() (interface{}, error) { +func (p *parser) callonRelativeLink254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph87() + return p.cur.onRelativeLink254(stack["name"]) } -func (c *current) onShortcutParagraph93() (interface{}, error) { +func (c *current) onRelativeLink268() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph93() (interface{}, error) { +func (p *parser) callonRelativeLink268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph93() + return p.cur.onRelativeLink268() } -func (c *current) onShortcutParagraph96() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink280() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph96() (interface{}, error) { +func (p *parser) callonRelativeLink280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph96() + return p.cur.onRelativeLink280() } -func (c *current) onShortcutParagraph84(delimiter interface{}) (interface{}, error) { +func (c *current) onRelativeLink282() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortcutParagraph84() (interface{}, error) { +func (p *parser) callonRelativeLink282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph84(stack["delimiter"]) + return p.cur.onRelativeLink282() } -func (c *current) onShortcutParagraph106() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onRelativeLink275(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonShortcutParagraph106() (interface{}, error) { +func (p *parser) callonRelativeLink275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph106() + return p.cur.onRelativeLink275(stack["start"]) } -func (c *current) onShortcutParagraph112() (interface{}, error) { - return string(c.text), nil - +func (c *current) onRelativeLink264(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonShortcutParagraph112() (interface{}, error) { +func (p *parser) callonRelativeLink264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph112() + return p.cur.onRelativeLink264(stack["name"], stack["start"]) } -func (c *current) onShortcutParagraph115() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink290() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph115() (interface{}, error) { +func (p *parser) callonRelativeLink290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph115() + return p.cur.onRelativeLink290() } -func (c *current) onShortcutParagraph103(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onRelativeLink302() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph103() (interface{}, error) { +func (p *parser) callonRelativeLink302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph103(stack["delimiter"]) + return p.cur.onRelativeLink302() } -func (c *current) onShortcutParagraph126() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars - return string(c.text), nil +func (c *current) onRelativeLink304() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonShortcutParagraph126() (interface{}, error) { +func (p *parser) callonRelativeLink304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph126() + return p.cur.onRelativeLink304() } -func (c *current) onShortcutParagraph130() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink297(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonShortcutParagraph130() (interface{}, error) { +func (p *parser) callonRelativeLink297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph130() + return p.cur.onRelativeLink297(stack["start"]) } -func (c *current) onShortcutParagraph133() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink286(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonShortcutParagraph133() (interface{}, error) { +func (p *parser) callonRelativeLink286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph133() + return p.cur.onRelativeLink286(stack["name"], stack["start"]) } -func (c *current) onShortcutParagraph122(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onRelativeLink239(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonShortcutParagraph122() (interface{}, error) { +func (p *parser) callonRelativeLink239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph122(stack["language"]) + return p.cur.onRelativeLink239(stack["element"]) } -func (c *current) onShortcutParagraph143() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onRelativeLink308() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortcutParagraph143() (interface{}, error) { +func (p *parser) callonRelativeLink308() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph143() + return p.cur.onRelativeLink308() } -func (c *current) onShortcutParagraph149() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink179(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonShortcutParagraph149() (interface{}, error) { +func (p *parser) callonRelativeLink179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph149() + return p.cur.onRelativeLink179(stack["elements"]) } -func (c *current) onShortcutParagraph152() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onRelativeLink314() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph152() (interface{}, error) { +func (p *parser) callonRelativeLink314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph152() + return p.cur.onRelativeLink314() } -func (c *current) onShortcutParagraph140(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - +func (c *current) onRelativeLink310(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonShortcutParagraph140() (interface{}, error) { +func (p *parser) callonRelativeLink310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph140(stack["delimiter"]) + return p.cur.onRelativeLink310(stack["ref"]) } -func (c *current) onShortcutParagraph162() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onRelativeLink165(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonShortcutParagraph162() (interface{}, error) { +func (p *parser) callonRelativeLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph162() + return p.cur.onRelativeLink165(stack["scheme"], stack["path"]) } -func (c *current) onShortcutParagraph168() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink161(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonShortcutParagraph168() (interface{}, error) { +func (p *parser) callonRelativeLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph168() + return p.cur.onRelativeLink161(stack["url"], stack["attributes"]) } -func (c *current) onShortcutParagraph171() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink11() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph171() (interface{}, error) { +func (p *parser) callonExternalLink11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph171() + return p.cur.onExternalLink11() } -func (c *current) onShortcutParagraph159(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onExternalLink27() (interface{}, error) { + // excluding 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) callonShortcutParagraph159() (interface{}, error) { +func (p *parser) callonExternalLink27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph159(stack["delimiter"]) + return p.cur.onExternalLink27() } -func (c *current) onShortcutParagraph181() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onExternalLink31() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) return string(c.text), nil } -func (p *parser) callonShortcutParagraph181() (interface{}, error) { +func (p *parser) callonExternalLink31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph181() + return p.cur.onExternalLink31() } -func (c *current) onShortcutParagraph187() (interface{}, error) { +func (c *current) onExternalLink42() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph187() (interface{}, error) { +func (p *parser) callonExternalLink42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph187() + return p.cur.onExternalLink42() } -func (c *current) onShortcutParagraph190() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink52() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonShortcutParagraph190() (interface{}, error) { +func (p *parser) callonExternalLink52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph190() + return p.cur.onExternalLink52() } -func (c *current) onShortcutParagraph178(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - +func (c *current) onExternalLink54() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph178() (interface{}, error) { +func (p *parser) callonExternalLink54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph178(stack["delimiter"]) + return p.cur.onExternalLink54() } -func (c *current) onShortcutParagraph200() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onExternalLink62() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonShortcutParagraph200() (interface{}, error) { +func (p *parser) callonExternalLink62() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph200() + return p.cur.onExternalLink62() } -func (c *current) onShortcutParagraph206() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink65() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonShortcutParagraph206() (interface{}, error) { +func (p *parser) callonExternalLink65() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph206() + return p.cur.onExternalLink65() } -func (c *current) onShortcutParagraph209() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink68() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) + } -func (p *parser) callonShortcutParagraph209() (interface{}, error) { +func (p *parser) callonExternalLink68() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph209() + return p.cur.onExternalLink68() } -func (c *current) onShortcutParagraph197(delimiter interface{}) (interface{}, error) { +func (c *current) onExternalLink71() (bool, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonShortcutParagraph197() (interface{}, error) { +func (p *parser) callonExternalLink71() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph197(stack["delimiter"]) + return p.cur.onExternalLink71() } -func (c *current) onShortcutParagraph219() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onExternalLink45() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) return string(c.text), nil } -func (p *parser) callonShortcutParagraph219() (interface{}, error) { +func (p *parser) callonExternalLink45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph219() + return p.cur.onExternalLink45() } -func (c *current) onShortcutParagraph225() (interface{}, error) { +func (c *current) onExternalLink78() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph225() (interface{}, error) { +func (p *parser) callonExternalLink78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph225() + return p.cur.onExternalLink78() } -func (c *current) onShortcutParagraph228() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink82() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) + } -func (p *parser) callonShortcutParagraph228() (interface{}, error) { +func (p *parser) callonExternalLink82() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph228() + return p.cur.onExternalLink82() } -func (c *current) onShortcutParagraph216(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onExternalLink89() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph216() (interface{}, error) { +func (p *parser) callonExternalLink89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph216(stack["delimiter"]) + return p.cur.onExternalLink89() } -func (c *current) onShortcutParagraph238() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onExternalLink85(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) callonShortcutParagraph238() (interface{}, error) { +func (p *parser) callonExternalLink85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph238() + return p.cur.onExternalLink85(stack["name"]) } -func (c *current) onShortcutParagraph244() (interface{}, error) { +func (c *current) onExternalLink99() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph244() (interface{}, error) { +func (p *parser) callonExternalLink99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph244() + return p.cur.onExternalLink99() } -func (c *current) onShortcutParagraph247() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink95(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) + } -func (p *parser) callonShortcutParagraph247() (interface{}, error) { +func (p *parser) callonExternalLink95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph247() + return p.cur.onExternalLink95(stack["name"]) } -func (c *current) onShortcutParagraph235(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onExternalLink109() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph235() (interface{}, error) { +func (p *parser) callonExternalLink109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph235(stack["delimiter"]) + return p.cur.onExternalLink109() } -func (c *current) onShortcutParagraph78(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onExternalLink121() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph78() (interface{}, error) { +func (p *parser) callonExternalLink121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph78(stack["delimiter"]) + return p.cur.onExternalLink121() } -func (c *current) onShortcutParagraph258() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink123() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortcutParagraph258() (interface{}, error) { +func (p *parser) callonExternalLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph258() + return p.cur.onExternalLink123() } -func (c *current) onShortcutParagraph260() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink116(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonShortcutParagraph260() (interface{}, error) { +func (p *parser) callonExternalLink116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph260() + return p.cur.onExternalLink116(stack["start"]) } -func (c *current) onShortcutParagraph273() (interface{}, error) { - - return string(c.text), nil - +func (c *current) onExternalLink105(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonShortcutParagraph273() (interface{}, error) { +func (p *parser) callonExternalLink105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph273() + return p.cur.onExternalLink105(stack["name"], stack["start"]) } -func (c *current) onShortcutParagraph277() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink131() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph277() (interface{}, error) { +func (p *parser) callonExternalLink131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph277() + return p.cur.onExternalLink131() } -func (c *current) onShortcutParagraph267(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onExternalLink143() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph267() (interface{}, error) { +func (p *parser) callonExternalLink143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph267(stack["content"]) + return p.cur.onExternalLink143() } -func (c *current) onShortcutParagraph287() (interface{}, error) { +func (c *current) onExternalLink145() (interface{}, error) { - return string(c.text), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortcutParagraph287() (interface{}, error) { +func (p *parser) callonExternalLink145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph287() + return p.cur.onExternalLink145() } -func (c *current) onShortcutParagraph290(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onExternalLink138(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonShortcutParagraph290() (bool, error) { +func (p *parser) callonExternalLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph290(stack["content"]) + return p.cur.onExternalLink138(stack["start"]) } -func (c *current) onShortcutParagraph292() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink127(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonShortcutParagraph292() (interface{}, error) { +func (p *parser) callonExternalLink127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph292() + return p.cur.onExternalLink127(stack["name"], stack["start"]) } -func (c *current) onShortcutParagraph284(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExternalLink80(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonShortcutParagraph284() (interface{}, error) { +func (p *parser) callonExternalLink80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph284(stack["content"]) + return p.cur.onExternalLink80(stack["element"]) } -func (c *current) onShortcutParagraph53(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onExternalLink149() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortcutParagraph53() (interface{}, error) { +func (p *parser) callonExternalLink149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph53(stack["line"]) + return p.cur.onExternalLink149() } -func (c *current) onShortcutParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) +func (c *current) onExternalLink20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonShortcutParagraph1() (interface{}, error) { +func (p *parser) callonExternalLink20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) + return p.cur.onExternalLink20(stack["elements"]) } -func (c *current) onParagraph7() (bool, error) { - return !c.isWithinLiteralParagraph(), nil +func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonParagraph7() (bool, error) { +func (p *parser) callonExternalLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph7() + return p.cur.onExternalLink6(stack["scheme"], stack["path"]) } -func (c *current) onParagraph10() (interface{}, error) { - return types.Tip, nil +func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonParagraph10() (interface{}, error) { +func (p *parser) callonExternalLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph10() + return p.cur.onExternalLink2(stack["url"], stack["attributes"]) } -func (c *current) onParagraph12() (interface{}, error) { - return types.Note, nil - +func (c *current) onExternalLink162() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph12() (interface{}, error) { +func (p *parser) callonExternalLink162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph12() + return p.cur.onExternalLink162() } -func (c *current) onParagraph14() (interface{}, error) { - return types.Important, nil +func (c *current) onExternalLink178() (interface{}, error) { + // excluding 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) callonParagraph14() (interface{}, error) { +func (p *parser) callonExternalLink178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph14() + return p.cur.onExternalLink178() } -func (c *current) onParagraph16() (interface{}, error) { - return types.Warning, nil +func (c *current) onExternalLink182() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonParagraph16() (interface{}, error) { +func (p *parser) callonExternalLink182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph16() + return p.cur.onExternalLink182() } -func (c *current) onParagraph18() (interface{}, error) { - return types.Caution, nil +func (c *current) onExternalLink193() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonParagraph18() (interface{}, error) { +func (p *parser) callonExternalLink193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph18() + return p.cur.onExternalLink193() } -func (c *current) onParagraph22() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExternalLink203() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph22() (interface{}, error) { +func (p *parser) callonExternalLink203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph22() + return p.cur.onExternalLink203() } -func (c *current) onParagraph20() (interface{}, error) { - // check - return types.LiteralParagraph, nil - +func (c *current) onExternalLink205() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonParagraph20() (interface{}, error) { +func (p *parser) callonExternalLink205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph20() + return p.cur.onExternalLink205() } -func (c *current) onParagraph5(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onExternalLink213() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonParagraph5() (interface{}, error) { +func (p *parser) callonExternalLink213() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph5(stack["style"]) + return p.cur.onExternalLink213() } -func (c *current) onParagraph29() (interface{}, error) { +func (c *current) onExternalLink216() (bool, error) { - return string(c.text), nil + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonParagraph29() (interface{}, error) { +func (p *parser) callonExternalLink216() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph29() + return p.cur.onExternalLink216() } -func (c *current) onParagraph32(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onExternalLink219() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonParagraph32() (bool, error) { +func (p *parser) callonExternalLink219() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph32(stack["content"]) + return p.cur.onExternalLink219() } -func (c *current) onParagraph34() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink222() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled + } -func (p *parser) callonParagraph34() (interface{}, error) { +func (p *parser) callonExternalLink222() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph34() + return p.cur.onExternalLink222() } -func (c *current) onParagraph26(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExternalLink196() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil } -func (p *parser) callonParagraph26() (interface{}, error) { +func (p *parser) callonExternalLink196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph26(stack["content"]) + return p.cur.onExternalLink196() } -func (c *current) onParagraph55() (interface{}, error) { +func (c *current) onExternalLink229() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph55() (interface{}, error) { +func (p *parser) callonExternalLink229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph55() + return p.cur.onExternalLink229() } -func (c *current) onParagraph58() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink233() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) + } -func (p *parser) callonParagraph58() (interface{}, error) { +func (p *parser) callonExternalLink233() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph58() + return p.cur.onExternalLink233() } -func (c *current) onParagraph49() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExternalLink240() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph49() (interface{}, error) { +func (p *parser) callonExternalLink240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph49() + return p.cur.onExternalLink240() } -func (c *current) onParagraph75() (interface{}, error) { +func (c *current) onExternalLink236(name interface{}) (interface{}, error) { - return string(c.text), nil + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonParagraph75() (interface{}, error) { +func (p *parser) callonExternalLink236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph75() + return p.cur.onExternalLink236(stack["name"]) } -func (c *current) onParagraph79() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExternalLink250() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonParagraph79() (interface{}, error) { +func (p *parser) callonExternalLink250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph79() + return p.cur.onExternalLink250() } -func (c *current) onParagraph69(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onExternalLink246(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonParagraph69() (interface{}, error) { +func (p *parser) callonExternalLink246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph69(stack["content"]) + return p.cur.onExternalLink246(stack["name"]) } -func (c *current) onParagraph89() (interface{}, error) { - +func (c *current) onExternalLink260() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonParagraph89() (interface{}, error) { +func (p *parser) callonExternalLink260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph89() + return p.cur.onExternalLink260() } -func (c *current) onParagraph92(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onExternalLink272() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph92() (bool, error) { +func (p *parser) callonExternalLink272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph92(stack["content"]) + return p.cur.onExternalLink272() } -func (c *current) onParagraph94() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink274() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonParagraph94() (interface{}, error) { +func (p *parser) callonExternalLink274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph94() + return p.cur.onExternalLink274() } -func (c *current) onParagraph86(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onExternalLink267(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonParagraph86() (interface{}, error) { +func (p *parser) callonExternalLink267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph86(stack["content"]) + return p.cur.onExternalLink267(stack["start"]) } -func (c *current) onParagraph43(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onExternalLink256(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonParagraph43() (interface{}, error) { +func (p *parser) callonExternalLink256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph43(stack["line"]) + return p.cur.onExternalLink256(stack["name"], stack["start"]) } -func (c *current) onParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) +func (c *current) onExternalLink282() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph1() (interface{}, error) { +func (p *parser) callonExternalLink282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) + return p.cur.onExternalLink282() } -func (c *current) onEscapedQuotedText5() (interface{}, error) { +func (c *current) onExternalLink294() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedQuotedText5() (interface{}, error) { +func (p *parser) callonExternalLink294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedQuotedText5() + return p.cur.onExternalLink294() } -func (c *current) onEscapedQuotedText1(attributes, element interface{}) (interface{}, error) { - return append([]interface{}{attributes}, element.([]interface{})...), nil +func (c *current) onExternalLink296() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonEscapedQuotedText1() (interface{}, error) { +func (p *parser) callonExternalLink296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedQuotedText1(stack["attributes"], stack["element"]) + return p.cur.onExternalLink296() } -func (c *current) onUnescapedQuotedText1(attributes, element interface{}) (interface{}, error) { - return element.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onExternalLink289(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonUnescapedQuotedText1() (interface{}, error) { +func (p *parser) callonExternalLink289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnescapedQuotedText1(stack["attributes"], stack["element"]) + return p.cur.onExternalLink289(stack["start"]) } -func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) - +func (c *current) onExternalLink278(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonExternalLink278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldText1(stack["elements"]) + return p.cur.onExternalLink278(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteBoldTextElement17() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink231(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteBoldTextElement17() (interface{}, error) { +func (p *parser) callonExternalLink231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement17() + return p.cur.onExternalLink231(stack["element"]) } -func (c *current) onDoubleQuoteBoldTextElement10() (interface{}, error) { +func (c *current) onExternalLink300() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement10() (interface{}, error) { +func (p *parser) callonExternalLink300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement10() + return p.cur.onExternalLink300() } -func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExternalLink171(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { +func (p *parser) callonExternalLink171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement20() + return p.cur.onExternalLink171(stack["elements"]) } -func (c *current) onDoubleQuoteBoldTextElement25() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink157(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + } -func (p *parser) callonDoubleQuoteBoldTextElement25() (interface{}, error) { +func (p *parser) callonExternalLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement25() + return p.cur.onExternalLink157(stack["scheme"], stack["path"]) } -func (c *current) onDoubleQuoteBoldTextElement31() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink154(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes) + } -func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { +func (p *parser) callonExternalLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement31() + return p.cur.onExternalLink154(stack["url"], stack["attributes"]) } -func (c *current) onDoubleQuoteBoldTextElement23() (interface{}, error) { +func (c *current) onListElements11() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteBoldTextElement23() (interface{}, error) { +func (p *parser) callonListElements11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement23() + return p.cur.onListElements11() } -func (c *current) onDoubleQuoteBoldTextElement38() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onListElements18() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonDoubleQuoteBoldTextElement38() (bool, error) { +func (p *parser) callonListElements18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement38() + return p.cur.onListElements18() } -func (c *current) onDoubleQuoteBoldTextElement45() (interface{}, error) { - return string(c.text), nil +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) callonDoubleQuoteBoldTextElement45() (interface{}, error) { +func (p *parser) callonListElements21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement45() + return p.cur.onListElements21(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement57() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements15(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonDoubleQuoteBoldTextElement57() (interface{}, error) { +func (p *parser) callonListElements15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement57() + return p.cur.onListElements15(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement59() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElements22() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonDoubleQuoteBoldTextElement59() (interface{}, error) { +func (p *parser) callonListElements22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement59() + return p.cur.onListElements22() } -func (c *current) onDoubleQuoteBoldTextElement52(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElements27() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { +func (p *parser) callonListElements27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement52(stack["start"]) + return p.cur.onListElements27() } -func (c *current) onDoubleQuoteBoldTextElement41(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElements31() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonDoubleQuoteBoldTextElement41() (interface{}, error) { +func (p *parser) callonListElements31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement41(stack["name"], stack["start"]) + return p.cur.onListElements31() } -func (c *current) onDoubleQuoteBoldTextElement67() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements35() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonDoubleQuoteBoldTextElement67() (interface{}, error) { +func (p *parser) callonListElements35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement67() + return p.cur.onListElements35() } -func (c *current) onDoubleQuoteBoldTextElement79() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements40() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonDoubleQuoteBoldTextElement79() (interface{}, error) { +func (p *parser) callonListElements40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement79() + return p.cur.onListElements40() } -func (c *current) onDoubleQuoteBoldTextElement81() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElements45(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement81() (interface{}, error) { +func (p *parser) callonListElements45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement81() + return p.cur.onListElements45(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement74(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElements8(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { +func (p *parser) callonListElements8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement74(stack["start"]) + return p.cur.onListElements8(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement63(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElements53() (interface{}, error) { + return types.NewRawLine(string(c.text)) + } -func (p *parser) callonDoubleQuoteBoldTextElement63() (interface{}, error) { +func (p *parser) callonListElements53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement63(stack["name"], stack["start"]) + return p.cur.onListElements53() } -func (c *current) onDoubleQuoteBoldTextElement89() (interface{}, error) { +func (c *current) onListElements57() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteBoldTextElement89() (interface{}, error) { +func (p *parser) callonListElements57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement89() + return p.cur.onListElements57() } -func (c *current) onDoubleQuoteBoldTextElement85(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) onListElements49(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonDoubleQuoteBoldTextElement85() (interface{}, error) { +func (p *parser) callonListElements49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement85(stack["name"]) + return p.cur.onListElements49(stack["rawLines"]) } -func (c *current) onDoubleQuoteBoldTextElement99() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonDoubleQuoteBoldTextElement99() (interface{}, error) { +func (p *parser) callonListElements5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement99() + return p.cur.onListElements5(stack["prefix"], stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement95(name interface{}) (interface{}, error) { +func (c *current) onListElements70() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement95() (interface{}, error) { +func (p *parser) callonListElements70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement95(stack["name"]) + return p.cur.onListElements70() } -func (c *current) onDoubleQuoteBoldTextElement36(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements73() (interface{}, error) { + // `-` or `*` to `*****` + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { +func (p *parser) callonListElements73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement36(stack["element"]) + return p.cur.onListElements73() } -func (c *current) onDoubleQuoteBoldTextElement108() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onListElements78(style interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonDoubleQuoteBoldTextElement108() (bool, error) { +func (p *parser) callonListElements78() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement108() + return p.cur.onListElements78(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement115() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListElements79(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement115() (interface{}, error) { +func (p *parser) callonListElements79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement115() + return p.cur.onListElements79(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement117() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListElements67(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement117() (interface{}, error) { +func (p *parser) callonListElements67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement117() + return p.cur.onListElements67(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement119() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onListElements90() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonDoubleQuoteBoldTextElement119() (interface{}, error) { +func (p *parser) callonListElements90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement119() + return p.cur.onListElements90() } -func (c *current) onDoubleQuoteBoldTextElement121() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListElements92() (interface{}, error) { + return types.Checked, nil +} + +func (p *parser) callonListElements92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements92() +} +func (c *current) onListElements94() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonDoubleQuoteBoldTextElement121() (interface{}, error) { +func (p *parser) callonListElements94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement121() + return p.cur.onListElements94() } -func (c *current) onDoubleQuoteBoldTextElement123() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListElements96(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement123() (interface{}, error) { +func (p *parser) callonListElements96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement123() + return p.cur.onListElements96(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement125() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onListElements84(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonDoubleQuoteBoldTextElement125() (interface{}, error) { +func (p *parser) callonListElements84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement125() + return p.cur.onListElements84(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement127() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onListElements104() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement127() (interface{}, error) { +func (p *parser) callonListElements104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement127() + return p.cur.onListElements104() } -func (c *current) onDoubleQuoteBoldTextElement129() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onListElements108() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement129() (interface{}, error) { +func (p *parser) callonListElements108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement129() + return p.cur.onListElements108() } -func (c *current) onDoubleQuoteBoldTextElement131() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onListElements100(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonDoubleQuoteBoldTextElement131() (interface{}, error) { +func (p *parser) callonListElements100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement131() + return p.cur.onListElements100(stack["rawLines"]) } -func (c *current) onDoubleQuoteBoldTextElement136() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListElements64(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonDoubleQuoteBoldTextElement136() (bool, error) { +func (p *parser) callonListElements64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement136() + return p.cur.onListElements64(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement138() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListElements122() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement138() (interface{}, error) { +func (p *parser) callonListElements122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement138() + return p.cur.onListElements122() } -func (c *current) onDoubleQuoteBoldTextElement142() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListElements126(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonDoubleQuoteBoldTextElement142() (interface{}, error) { +func (p *parser) callonListElements126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement142() + return p.cur.onListElements126(stack["ref"]) } -func (c *current) onDoubleQuoteBoldTextElement133() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListElements118(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonDoubleQuoteBoldTextElement133() (interface{}, error) { +func (p *parser) callonListElements118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement133() + return p.cur.onListElements118(stack["ref"]) } -func (c *current) onDoubleQuoteBoldTextElement152() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListElements134() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement152() (bool, error) { +func (p *parser) callonListElements134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement152() + return p.cur.onListElements134() } -func (c *current) onDoubleQuoteBoldTextElement156() (interface{}, error) { +func (c *current) onListElements138() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement156() (interface{}, error) { +func (p *parser) callonListElements138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement156() + return p.cur.onListElements138() } -func (c *current) onDoubleQuoteBoldTextElement149() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListElements130(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonDoubleQuoteBoldTextElement149() (interface{}, error) { +func (p *parser) callonListElements130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement149() + return p.cur.onListElements130(stack["rawLines"]) } -func (c *current) onDoubleQuoteBoldTextElement163() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListElements115(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonDoubleQuoteBoldTextElement163() (interface{}, error) { +func (p *parser) callonListElements115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement163() + return p.cur.onListElements115(stack["ref"], stack["description"]) } -func (c *current) onDoubleQuoteBoldTextElement165() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListElements155() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement165() (interface{}, error) { +func (p *parser) callonListElements155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement165() + return p.cur.onListElements155() } -func (c *current) onDoubleQuoteBoldTextElement167() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListElements158(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) callonDoubleQuoteBoldTextElement167() (interface{}, error) { +func (p *parser) callonListElements158() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement167() + return p.cur.onListElements158(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement111() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onListElements152(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteBoldTextElement111() (interface{}, error) { +func (p *parser) callonListElements152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement111() + return p.cur.onListElements152(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement169() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onListElements161() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement169() (interface{}, error) { +func (p *parser) callonListElements161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement169() + return p.cur.onListElements161() } -func (c *current) onDoubleQuoteBoldTextElement171() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListElements148() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonDoubleQuoteBoldTextElement171() (interface{}, error) { +func (p *parser) callonListElements148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement171() + return p.cur.onListElements148() } -func (c *current) onDoubleQuoteBoldTextElement173() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListElements173() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement173() (interface{}, error) { +func (p *parser) callonListElements173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement173() + return p.cur.onListElements173() } -func (c *current) onDoubleQuoteBoldTextElement175() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListElements176(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) callonDoubleQuoteBoldTextElement175() (interface{}, error) { +func (p *parser) callonListElements176() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement175() + return p.cur.onListElements176(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement177() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListElements170(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteBoldTextElement177() (interface{}, error) { +func (p *parser) callonListElements170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement177() + return p.cur.onListElements170(stack["separator"]) } -func (c *current) onDoubleQuoteBoldTextElement179() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onListElements182() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement179() (interface{}, error) { +func (p *parser) callonListElements182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement179() + return p.cur.onListElements182() } -func (c *current) onDoubleQuoteBoldTextElement181() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onListElements185() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement181() (interface{}, error) { +func (p *parser) callonListElements185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement181() + return p.cur.onListElements185() } -func (c *current) onDoubleQuoteBoldTextElement183() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListElements198() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement183() (interface{}, error) { +func (p *parser) callonListElements198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement183() + return p.cur.onListElements198() } -func (c *current) onDoubleQuoteBoldTextElement188() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil - +func (c *current) onListElements201() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement188() (bool, error) { +func (p *parser) callonListElements201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement188() + return p.cur.onListElements201() } -func (c *current) onDoubleQuoteBoldTextElement190() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements193() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteBoldTextElement190() (interface{}, error) { +func (p *parser) callonListElements193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement190() + return p.cur.onListElements193() } -func (c *current) onDoubleQuoteBoldTextElement194() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListElements179() (interface{}, error) { + return nil, nil + } -func (p *parser) callonDoubleQuoteBoldTextElement194() (interface{}, error) { +func (p *parser) callonListElements179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement194() + return p.cur.onListElements179() } -func (c *current) onDoubleQuoteBoldTextElement185() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListElements210() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement185() (interface{}, error) { +func (p *parser) callonListElements210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement185() + return p.cur.onListElements210() } -func (c *current) onDoubleQuoteBoldTextElement204() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListElements214() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement204() (bool, error) { +func (p *parser) callonListElements214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement204() + return p.cur.onListElements214() } -func (c *current) onDoubleQuoteBoldTextElement208() (interface{}, error) { +func (c *current) onListElements218() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement208() (interface{}, error) { +func (p *parser) callonListElements218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement208() + return p.cur.onListElements218() } -func (c *current) onDoubleQuoteBoldTextElement201() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListElements208(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) } -func (p *parser) callonDoubleQuoteBoldTextElement201() (interface{}, error) { +func (p *parser) callonListElements208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement201() + return p.cur.onListElements208(stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement215() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onListElements145(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonDoubleQuoteBoldTextElement215() (interface{}, error) { +func (p *parser) callonListElements145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement215() + return p.cur.onListElements145(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onDoubleQuoteBoldTextElement217() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { + return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) } -func (p *parser) callonDoubleQuoteBoldTextElement217() (interface{}, error) { +func (p *parser) callonListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement217() + return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) } -func (c *current) onDoubleQuoteBoldTextElement219() (interface{}, error) { - return types.NewSymbol("=>") - +func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { + return types.Flatten(elements.([]interface{})), nil } -func (p *parser) callonDoubleQuoteBoldTextElement219() (interface{}, error) { +func (p *parser) callonExtraListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement219() + return p.cur.onExtraListElements1(stack["elements"]) } -func (c *current) onDoubleQuoteBoldTextElement221() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onExtraListElement15() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement221() (interface{}, error) { +func (p *parser) callonExtraListElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement221() + return p.cur.onExtraListElement15() } -func (c *current) onDoubleQuoteBoldTextElement223() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char - +func (c *current) onExtraListElement18() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement223() (interface{}, error) { +func (p *parser) callonExtraListElement18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement223() + return p.cur.onExtraListElement18() } -func (c *current) onDoubleQuoteBoldTextElement230() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onExtraListElement10() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteBoldTextElement230() (bool, error) { +func (p *parser) callonExtraListElement10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement230() + return p.cur.onExtraListElement10() } -func (c *current) onDoubleQuoteBoldTextElement228() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onExtraListElement33() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement228() (interface{}, error) { +func (p *parser) callonExtraListElement33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement228() + return p.cur.onExtraListElement33() } -func (c *current) onDoubleQuoteBoldTextElement106(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement40() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonDoubleQuoteBoldTextElement106() (interface{}, error) { +func (p *parser) callonExtraListElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement106(stack["element"]) + return p.cur.onExtraListElement40() } -func (c *current) onDoubleQuoteBoldTextElement236() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onExtraListElement43(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonDoubleQuoteBoldTextElement236() (bool, error) { +func (p *parser) callonExtraListElement43() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement236() + return p.cur.onExtraListElement43(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement245() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onExtraListElement37(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) callonDoubleQuoteBoldTextElement245() (interface{}, error) { +func (p *parser) callonExtraListElement37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement245() + return p.cur.onExtraListElement37(stack["depth"]) } -func (c *current) onDoubleQuoteBoldTextElement249() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement44() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonDoubleQuoteBoldTextElement249() (interface{}, error) { +func (p *parser) callonExtraListElement44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement249() + return p.cur.onExtraListElement44() } -func (c *current) onDoubleQuoteBoldTextElement255() (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) onExtraListElement49() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonDoubleQuoteBoldTextElement255() (interface{}, error) { +func (p *parser) callonExtraListElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement255() + return p.cur.onExtraListElement49() } -func (c *current) onDoubleQuoteBoldTextElement264() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement53() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonDoubleQuoteBoldTextElement264() (interface{}, error) { +func (p *parser) callonExtraListElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement264() + return p.cur.onExtraListElement53() } -func (c *current) onDoubleQuoteBoldTextElement260(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) onExtraListElement57() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonDoubleQuoteBoldTextElement260() (interface{}, error) { +func (p *parser) callonExtraListElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement260(stack["name"]) + return p.cur.onExtraListElement57() } -func (c *current) onDoubleQuoteBoldTextElement274() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement62() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonDoubleQuoteBoldTextElement274() (interface{}, error) { +func (p *parser) callonExtraListElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement274() + return p.cur.onExtraListElement62() } -func (c *current) onDoubleQuoteBoldTextElement270(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onExtraListElement67(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement270() (interface{}, error) { +func (p *parser) callonExtraListElement67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement270(stack["name"]) + return p.cur.onExtraListElement67(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement280() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement30(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteBoldTextElement280() (interface{}, error) { +func (p *parser) callonExtraListElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement280() + return p.cur.onExtraListElement30(stack["prefix"]) } -func (c *current) onDoubleQuoteBoldTextElement241(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onExtraListElement75() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement241() (interface{}, error) { +func (p *parser) callonExtraListElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement241(stack["id"], stack["label"]) + return p.cur.onExtraListElement75() } -func (c *current) onDoubleQuoteBoldTextElement287() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onExtraListElement79() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteBoldTextElement287() (interface{}, error) { +func (p *parser) callonExtraListElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement287() + return p.cur.onExtraListElement79() } -func (c *current) onDoubleQuoteBoldTextElement283(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onExtraListElement71(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonDoubleQuoteBoldTextElement283() (interface{}, error) { +func (p *parser) callonExtraListElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement283(stack["id"]) + return p.cur.onExtraListElement71(stack["rawLines"]) } -func (c *current) onDoubleQuoteBoldTextElement239() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement27(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonDoubleQuoteBoldTextElement239() (interface{}, error) { +func (p *parser) callonExtraListElement27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement239() + return p.cur.onExtraListElement27(stack["prefix"], stack["content"]) } -func (c *current) onDoubleQuoteBoldTextElement291() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onExtraListElement92() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement291() (interface{}, error) { +func (p *parser) callonExtraListElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement291() + return p.cur.onExtraListElement92() } -func (c *current) onDoubleQuoteBoldTextElement234(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement95() (interface{}, error) { + // `-` or `*` to `*****` + return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement234() (interface{}, error) { +func (p *parser) callonExtraListElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement234(stack["element"]) + return p.cur.onExtraListElement95() } -func (c *current) onDoubleQuoteBoldTextElement298() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement100(style interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil + } -func (p *parser) callonDoubleQuoteBoldTextElement298() (interface{}, error) { +func (p *parser) callonExtraListElement100() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement298() + return p.cur.onExtraListElement100(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement294(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onExtraListElement101(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteBoldTextElement294() (interface{}, error) { +func (p *parser) callonExtraListElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement294(stack["ref"]) + return p.cur.onExtraListElement101(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement302() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement89(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement302() (interface{}, error) { +func (p *parser) callonExtraListElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement302() + return p.cur.onExtraListElement89(stack["style"]) } -func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil - +func (c *current) onExtraListElement112() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { +func (p *parser) callonExtraListElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) + return p.cur.onExtraListElement112() } -func (c *current) onSingleQuoteBoldText4() (bool, error) { - log.Debug("SingleQuoteBoldTextStartDelimiter") - return c.isSingleQuotedTextAllowed(), nil - +func (c *current) onExtraListElement114() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonSingleQuoteBoldText4() (bool, error) { +func (p *parser) callonExtraListElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldText4() + return p.cur.onExtraListElement114() } -func (c *current) onSingleQuoteBoldText13(elements interface{}) (bool, error) { - log.Debug("SingleQuoteBoldTextEndDelimiter") - return !c.isPrecededBySpace(), nil - +func (c *current) onExtraListElement116() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonSingleQuoteBoldText13() (bool, error) { +func (p *parser) callonExtraListElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldText13(stack["elements"]) + return p.cur.onExtraListElement116() } -func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) +func (c *current) onExtraListElement118(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonExtraListElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldText1(stack["elements"]) + return p.cur.onExtraListElement118(stack["style"]) } -func (c *current) onSingleQuoteBoldTextElements4() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement106(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonSingleQuoteBoldTextElements4() (interface{}, error) { +func (p *parser) callonExtraListElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements4() + return p.cur.onExtraListElement106(stack["style"]) } -func (c *current) onSingleQuoteBoldTextElements9(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onExtraListElement126() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElements9() (bool, error) { +func (p *parser) callonExtraListElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements9(stack["elements"]) + return p.cur.onExtraListElement126() } -func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { - return elements, nil - +func (c *current) onExtraListElement130() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { +func (p *parser) callonExtraListElement130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) + return p.cur.onExtraListElement130() } -func (c *current) onSingleQuoteBoldTextElement11() (bool, error) { - log.Debug("SingleQuoteBoldTextEndDelimiter") - return !c.isPrecededBySpace(), nil +func (c *current) onExtraListElement122(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonSingleQuoteBoldTextElement11() (bool, error) { +func (p *parser) callonExtraListElement122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement11() + return p.cur.onExtraListElement122(stack["rawLines"]) } -func (c *current) onSingleQuoteBoldTextElement24() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement86(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonSingleQuoteBoldTextElement24() (interface{}, error) { +func (p *parser) callonExtraListElement86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement24() + return p.cur.onExtraListElement86(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement17() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement144() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement17() (interface{}, error) { +func (p *parser) callonExtraListElement144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement17() + return p.cur.onExtraListElement144() } -func (c *current) onSingleQuoteBoldTextElement27() (interface{}, error) { +func (c *current) onExtraListElement148(ref interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement27() (interface{}, error) { +func (p *parser) callonExtraListElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement27() + return p.cur.onExtraListElement148(stack["ref"]) } -func (c *current) onSingleQuoteBoldTextElement32() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement140(ref interface{}) (interface{}, error) { + return ref, nil + } -func (p *parser) callonSingleQuoteBoldTextElement32() (interface{}, error) { +func (p *parser) callonExtraListElement140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement32() + return p.cur.onExtraListElement140(stack["ref"]) } -func (c *current) onSingleQuoteBoldTextElement38() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement156() (interface{}, error) { + return types.NewRawLine(string(c.text)) + } -func (p *parser) callonSingleQuoteBoldTextElement38() (interface{}, error) { +func (p *parser) callonExtraListElement156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement38() + return p.cur.onExtraListElement156() } -func (c *current) onSingleQuoteBoldTextElement30() (interface{}, error) { +func (c *current) onExtraListElement160() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement30() (interface{}, error) { +func (p *parser) callonExtraListElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement30() + return p.cur.onExtraListElement160() } -func (c *current) onSingleQuoteBoldTextElement46() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onExtraListElement152(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonSingleQuoteBoldTextElement46() (bool, error) { +func (p *parser) callonExtraListElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement46() + return p.cur.onExtraListElement152(stack["rawLines"]) } -func (c *current) onSingleQuoteBoldTextElement53() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement137(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { +func (p *parser) callonExtraListElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement53() + return p.cur.onExtraListElement137(stack["ref"], stack["description"]) } -func (c *current) onSingleQuoteBoldTextElement65() (interface{}, error) { +func (c *current) onExtraListElement177() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement65() (interface{}, error) { +func (p *parser) callonExtraListElement177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement65() + return p.cur.onExtraListElement177() } -func (c *current) onSingleQuoteBoldTextElement67() (interface{}, error) { +func (c *current) onExtraListElement180(separator interface{}) (bool, error) { - return strconv.Atoi(string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonSingleQuoteBoldTextElement67() (interface{}, error) { +func (p *parser) callonExtraListElement180() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement67() + return p.cur.onExtraListElement180(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement60(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement174(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonSingleQuoteBoldTextElement60() (interface{}, error) { +func (p *parser) callonExtraListElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement60(stack["start"]) + return p.cur.onExtraListElement174(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement49(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExtraListElement183() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { +func (p *parser) callonExtraListElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement49(stack["name"], stack["start"]) + return p.cur.onExtraListElement183() } -func (c *current) onSingleQuoteBoldTextElement75() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement170() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { +func (p *parser) callonExtraListElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement75() + return p.cur.onExtraListElement170() } -func (c *current) onSingleQuoteBoldTextElement87() (interface{}, error) { +func (c *current) onExtraListElement195() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement87() (interface{}, error) { +func (p *parser) callonExtraListElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement87() + return p.cur.onExtraListElement195() } -func (c *current) onSingleQuoteBoldTextElement89() (interface{}, error) { +func (c *current) onExtraListElement198(separator interface{}) (bool, error) { - return strconv.Atoi(string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonSingleQuoteBoldTextElement89() (interface{}, error) { +func (p *parser) callonExtraListElement198() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement89() + return p.cur.onExtraListElement198(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement82(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement192(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonSingleQuoteBoldTextElement82() (interface{}, error) { +func (p *parser) callonExtraListElement192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement82(stack["start"]) + return p.cur.onExtraListElement192(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement71(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExtraListElement204() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { +func (p *parser) callonExtraListElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement71(stack["name"], stack["start"]) + return p.cur.onExtraListElement204() } -func (c *current) onSingleQuoteBoldTextElement97() (interface{}, error) { +func (c *current) onExtraListElement207() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement97() (interface{}, error) { +func (p *parser) callonExtraListElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement97() + return p.cur.onExtraListElement207() } -func (c *current) onSingleQuoteBoldTextElement93(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement220() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement93() (interface{}, error) { +func (p *parser) callonExtraListElement220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement93(stack["name"]) + return p.cur.onExtraListElement220() } -func (c *current) onSingleQuoteBoldTextElement107() (interface{}, error) { +func (c *current) onExtraListElement223() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement107() (interface{}, error) { +func (p *parser) callonExtraListElement223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement107() + return p.cur.onExtraListElement223() } -func (c *current) onSingleQuoteBoldTextElement103(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onExtraListElement215() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteBoldTextElement103() (interface{}, error) { +func (p *parser) callonExtraListElement215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement103(stack["name"]) + return p.cur.onExtraListElement215() } -func (c *current) onSingleQuoteBoldTextElement44(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement201() (interface{}, error) { + return nil, nil } -func (p *parser) callonSingleQuoteBoldTextElement44() (interface{}, error) { +func (p *parser) callonExtraListElement201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement44(stack["element"]) + return p.cur.onExtraListElement201() } -func (c *current) onSingleQuoteBoldTextElement115() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onExtraListElement232() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement115() (bool, error) { +func (p *parser) callonExtraListElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement115() + return p.cur.onExtraListElement232() } -func (c *current) onSingleQuoteBoldTextElement122() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onExtraListElement236() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement122() (interface{}, error) { +func (p *parser) callonExtraListElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement122() + return p.cur.onExtraListElement236() } -func (c *current) onSingleQuoteBoldTextElement124() (interface{}, error) { - return types.NewSymbol("`\"") - +func (c *current) onExtraListElement240() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement124() (interface{}, error) { +func (p *parser) callonExtraListElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement124() + return p.cur.onExtraListElement240() } -func (c *current) onSingleQuoteBoldTextElement126() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onExtraListElement230(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) } -func (p *parser) callonSingleQuoteBoldTextElement126() (interface{}, error) { +func (p *parser) callonExtraListElement230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement126() + return p.cur.onExtraListElement230(stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement128() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onExtraListElement167(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonSingleQuoteBoldTextElement128() (interface{}, error) { +func (p *parser) callonExtraListElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement128() + return p.cur.onExtraListElement167(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onSingleQuoteBoldTextElement130() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onExtraListElement7(element interface{}) (interface{}, error) { + + return element, nil } -func (p *parser) callonSingleQuoteBoldTextElement130() (interface{}, error) { +func (p *parser) callonExtraListElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement130() + return p.cur.onExtraListElement7(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElement132() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onExtraListElement260() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement132() (interface{}, error) { +func (p *parser) callonExtraListElement260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement132() + return p.cur.onExtraListElement260() } -func (c *current) onSingleQuoteBoldTextElement134() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onExtraListElement267() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonSingleQuoteBoldTextElement134() (interface{}, error) { +func (p *parser) callonExtraListElement267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement134() + return p.cur.onExtraListElement267() } -func (c *current) onSingleQuoteBoldTextElement136() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onExtraListElement270(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonSingleQuoteBoldTextElement136() (interface{}, error) { +func (p *parser) callonExtraListElement270() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement136() + return p.cur.onExtraListElement270(stack["depth"]) } -func (c *current) onSingleQuoteBoldTextElement138() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onExtraListElement264(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) callonSingleQuoteBoldTextElement138() (interface{}, error) { +func (p *parser) callonExtraListElement264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement138() + return p.cur.onExtraListElement264(stack["depth"]) } -func (c *current) onSingleQuoteBoldTextElement143() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onExtraListElement271() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonSingleQuoteBoldTextElement143() (bool, error) { +func (p *parser) callonExtraListElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement143() + return p.cur.onExtraListElement271() } -func (c *current) onSingleQuoteBoldTextElement145() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement276() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonSingleQuoteBoldTextElement145() (interface{}, error) { +func (p *parser) callonExtraListElement276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement145() + return p.cur.onExtraListElement276() } -func (c *current) onSingleQuoteBoldTextElement149() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement280() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonSingleQuoteBoldTextElement149() (interface{}, error) { +func (p *parser) callonExtraListElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement149() + return p.cur.onExtraListElement280() } -func (c *current) onSingleQuoteBoldTextElement140() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onExtraListElement284() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonSingleQuoteBoldTextElement140() (interface{}, error) { +func (p *parser) callonExtraListElement284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement140() + return p.cur.onExtraListElement284() } -func (c *current) onSingleQuoteBoldTextElement159() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onExtraListElement289() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonSingleQuoteBoldTextElement159() (bool, error) { +func (p *parser) callonExtraListElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement159() + return p.cur.onExtraListElement289() } -func (c *current) onSingleQuoteBoldTextElement163() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement294(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil -} - -func (p *parser) callonSingleQuoteBoldTextElement163() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteBoldTextElement163() -} - -func (c *current) onSingleQuoteBoldTextElement156() (interface{}, error) { - return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteBoldTextElement156() (interface{}, error) { +func (p *parser) callonExtraListElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement156() + return p.cur.onExtraListElement294(stack["prefix"]) } -func (c *current) onSingleQuoteBoldTextElement170() (interface{}, error) { - return types.NewSymbol("<-") - +func (c *current) onExtraListElement257(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonSingleQuoteBoldTextElement170() (interface{}, error) { +func (p *parser) callonExtraListElement257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement170() + return p.cur.onExtraListElement257(stack["prefix"]) } -func (c *current) onSingleQuoteBoldTextElement172() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onExtraListElement302() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement172() (interface{}, error) { +func (p *parser) callonExtraListElement302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement172() + return p.cur.onExtraListElement302() } -func (c *current) onSingleQuoteBoldTextElement174() (interface{}, error) { - return types.NewSymbol("<=") - +func (c *current) onExtraListElement306() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement174() (interface{}, error) { +func (p *parser) callonExtraListElement306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement174() + return p.cur.onExtraListElement306() } -func (c *current) onSingleQuoteBoldTextElement118() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onExtraListElement298(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonSingleQuoteBoldTextElement118() (interface{}, error) { +func (p *parser) callonExtraListElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement118() + return p.cur.onExtraListElement298(stack["rawLines"]) } -func (c *current) onSingleQuoteBoldTextElement176() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onExtraListElement254(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonSingleQuoteBoldTextElement176() (interface{}, error) { +func (p *parser) callonExtraListElement254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement176() + return p.cur.onExtraListElement254(stack["prefix"], stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement178() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onExtraListElement319() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement178() (interface{}, error) { +func (p *parser) callonExtraListElement319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement178() + return p.cur.onExtraListElement319() } -func (c *current) onSingleQuoteBoldTextElement180() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onExtraListElement322() (interface{}, error) { + // `-` or `*` to `*****` + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement180() (interface{}, error) { +func (p *parser) callonExtraListElement322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement180() + return p.cur.onExtraListElement322() } -func (c *current) onSingleQuoteBoldTextElement182() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onExtraListElement327(style interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonSingleQuoteBoldTextElement182() (interface{}, error) { +func (p *parser) callonExtraListElement327() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement182() + return p.cur.onExtraListElement327(stack["style"]) } -func (c *current) onSingleQuoteBoldTextElement184() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onExtraListElement328(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement184() (interface{}, error) { +func (p *parser) callonExtraListElement328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement184() + return p.cur.onExtraListElement328(stack["style"]) } -func (c *current) onSingleQuoteBoldTextElement186() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onExtraListElement316(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonSingleQuoteBoldTextElement186() (interface{}, error) { +func (p *parser) callonExtraListElement316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement186() + return p.cur.onExtraListElement316(stack["style"]) } -func (c *current) onSingleQuoteBoldTextElement188() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onExtraListElement339() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonSingleQuoteBoldTextElement188() (interface{}, error) { +func (p *parser) callonExtraListElement339() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement188() + return p.cur.onExtraListElement339() } -func (c *current) onSingleQuoteBoldTextElement190() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onExtraListElement341() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonSingleQuoteBoldTextElement190() (interface{}, error) { +func (p *parser) callonExtraListElement341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement190() + return p.cur.onExtraListElement341() } -func (c *current) onSingleQuoteBoldTextElement195() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil - +func (c *current) onExtraListElement343() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonSingleQuoteBoldTextElement195() (bool, error) { +func (p *parser) callonExtraListElement343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement195() + return p.cur.onExtraListElement343() } -func (c *current) onSingleQuoteBoldTextElement197() (interface{}, error) { +func (c *current) onExtraListElement345(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement197() (interface{}, error) { +func (p *parser) callonExtraListElement345() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement197() + return p.cur.onExtraListElement345(stack["style"]) } -func (c *current) onSingleQuoteBoldTextElement201() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement333(style interface{}) (interface{}, error) { + return style, nil + } -func (p *parser) callonSingleQuoteBoldTextElement201() (interface{}, error) { +func (p *parser) callonExtraListElement333() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement201() + return p.cur.onExtraListElement333(stack["style"]) } -func (c *current) onSingleQuoteBoldTextElement192() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onExtraListElement353() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement192() (interface{}, error) { +func (p *parser) callonExtraListElement353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement192() + return p.cur.onExtraListElement353() } -func (c *current) onSingleQuoteBoldTextElement211() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil - +func (c *current) onExtraListElement357() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement211() (bool, error) { +func (p *parser) callonExtraListElement357() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement211() + return p.cur.onExtraListElement357() } -func (c *current) onSingleQuoteBoldTextElement215() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement349(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) + } -func (p *parser) callonSingleQuoteBoldTextElement215() (interface{}, error) { +func (p *parser) callonExtraListElement349() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement215() + return p.cur.onExtraListElement349(stack["rawLines"]) } -func (c *current) onSingleQuoteBoldTextElement208() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onExtraListElement313(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonSingleQuoteBoldTextElement208() (interface{}, error) { +func (p *parser) callonExtraListElement313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement208() + return p.cur.onExtraListElement313(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement222() (interface{}, error) { - return types.NewSymbol("->") - +func (c *current) onExtraListElement371() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement222() (interface{}, error) { +func (p *parser) callonExtraListElement371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement222() + return p.cur.onExtraListElement371() } -func (c *current) onSingleQuoteBoldTextElement224() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onExtraListElement375(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement224() (interface{}, error) { +func (p *parser) callonExtraListElement375() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement224() + return p.cur.onExtraListElement375(stack["ref"]) } -func (c *current) onSingleQuoteBoldTextElement226() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onExtraListElement367(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonSingleQuoteBoldTextElement226() (interface{}, error) { +func (p *parser) callonExtraListElement367() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement226() + return p.cur.onExtraListElement367(stack["ref"]) } -func (c *current) onSingleQuoteBoldTextElement228() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onExtraListElement383() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement228() (interface{}, error) { +func (p *parser) callonExtraListElement383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement228() + return p.cur.onExtraListElement383() } -func (c *current) onSingleQuoteBoldTextElement230() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char - +func (c *current) onExtraListElement387() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement230() (interface{}, error) { +func (p *parser) callonExtraListElement387() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement230() + return p.cur.onExtraListElement387() } -func (c *current) onSingleQuoteBoldTextElement237() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onExtraListElement379(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonSingleQuoteBoldTextElement237() (bool, error) { +func (p *parser) callonExtraListElement379() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement237() + return p.cur.onExtraListElement379(stack["rawLines"]) } -func (c *current) onSingleQuoteBoldTextElement235() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onExtraListElement364(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonSingleQuoteBoldTextElement235() (interface{}, error) { +func (p *parser) callonExtraListElement364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement235() + return p.cur.onExtraListElement364(stack["ref"], stack["description"]) } -func (c *current) onSingleQuoteBoldTextElement113(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement404() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement113() (interface{}, error) { +func (p *parser) callonExtraListElement404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement113(stack["element"]) + return p.cur.onExtraListElement404() } -func (c *current) onSingleQuoteBoldTextElement243() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onExtraListElement407(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) callonSingleQuoteBoldTextElement243() (bool, error) { +func (p *parser) callonExtraListElement407() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement243() + return p.cur.onExtraListElement407(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement252() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onExtraListElement401(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonSingleQuoteBoldTextElement252() (interface{}, error) { +func (p *parser) callonExtraListElement401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement252() + return p.cur.onExtraListElement401(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement256() (interface{}, error) { +func (c *current) onExtraListElement410() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement256() (interface{}, error) { +func (p *parser) callonExtraListElement410() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement256() + return p.cur.onExtraListElement410() } -func (c *current) onSingleQuoteBoldTextElement262() (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) onExtraListElement397() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonSingleQuoteBoldTextElement262() (interface{}, error) { +func (p *parser) callonExtraListElement397() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement262() + return p.cur.onExtraListElement397() } -func (c *current) onSingleQuoteBoldTextElement271() (interface{}, error) { +func (c *current) onExtraListElement422() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement271() (interface{}, error) { +func (p *parser) callonExtraListElement422() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement271() + return p.cur.onExtraListElement422() } -func (c *current) onSingleQuoteBoldTextElement267(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement425(separator interface{}) (bool, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonSingleQuoteBoldTextElement267() (interface{}, error) { +func (p *parser) callonExtraListElement425() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement267(stack["name"]) + return p.cur.onExtraListElement425(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement281() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement419(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonSingleQuoteBoldTextElement281() (interface{}, error) { +func (p *parser) callonExtraListElement419() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement281() + return p.cur.onExtraListElement419(stack["separator"]) } -func (c *current) onSingleQuoteBoldTextElement277(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement431() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement277() (interface{}, error) { +func (p *parser) callonExtraListElement431() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement277(stack["name"]) + return p.cur.onExtraListElement431() } -func (c *current) onSingleQuoteBoldTextElement287() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement434() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement287() (interface{}, error) { +func (p *parser) callonExtraListElement434() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement287() + return p.cur.onExtraListElement434() } -func (c *current) onSingleQuoteBoldTextElement248(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onExtraListElement447() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement248() (interface{}, error) { +func (p *parser) callonExtraListElement447() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement248(stack["id"], stack["label"]) + return p.cur.onExtraListElement447() } -func (c *current) onSingleQuoteBoldTextElement294() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onExtraListElement450() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteBoldTextElement294() (interface{}, error) { +func (p *parser) callonExtraListElement450() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement294() + return p.cur.onExtraListElement450() } -func (c *current) onSingleQuoteBoldTextElement290(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onExtraListElement442() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteBoldTextElement290() (interface{}, error) { +func (p *parser) callonExtraListElement442() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement290(stack["id"]) + return p.cur.onExtraListElement442() } -func (c *current) onSingleQuoteBoldTextElement246() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement428() (interface{}, error) { + return nil, nil } -func (p *parser) callonSingleQuoteBoldTextElement246() (interface{}, error) { +func (p *parser) callonExtraListElement428() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement246() + return p.cur.onExtraListElement428() } -func (c *current) onSingleQuoteBoldTextElement298() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onExtraListElement459() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement298() (interface{}, error) { +func (p *parser) callonExtraListElement459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement298() + return p.cur.onExtraListElement459() } -func (c *current) onSingleQuoteBoldTextElement241(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement463() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement241() (interface{}, error) { +func (p *parser) callonExtraListElement463() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement241(stack["element"]) + return p.cur.onExtraListElement463() } -func (c *current) onSingleQuoteBoldTextElement305() (interface{}, error) { +func (c *current) onExtraListElement467() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement305() (interface{}, error) { +func (p *parser) callonExtraListElement467() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement305() + return p.cur.onExtraListElement467() } -func (c *current) onSingleQuoteBoldTextElement301(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onExtraListElement457(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) + } -func (p *parser) callonSingleQuoteBoldTextElement301() (interface{}, error) { +func (p *parser) callonExtraListElement457() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement301(stack["ref"]) + return p.cur.onExtraListElement457(stack["content"]) } -func (c *current) onSingleQuoteBoldTextElement309() (interface{}, error) { - - return string(c.text), nil +func (c *current) onExtraListElement394(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonSingleQuoteBoldTextElement309() (interface{}, error) { +func (p *parser) callonExtraListElement394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement309() + return p.cur.onExtraListElement394(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onSingleQuoteBoldTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil +func (c *current) onExtraListElement247(attributes, element interface{}) (interface{}, error) { + + return append(attributes.([]interface{}), element), nil } -func (p *parser) callonSingleQuoteBoldTextElement1() (interface{}, error) { +func (p *parser) callonExtraListElement247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement1(stack["element"]) + return p.cur.onExtraListElement247(stack["attributes"], stack["element"]) } -func (c *current) onEscapedBoldText5() (interface{}, error) { +func (c *current) onExtraListElement481() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedBoldText5() (interface{}, error) { +func (p *parser) callonExtraListElement481() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText5() + return p.cur.onExtraListElement481() } -func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) - +func (c *current) onExtraListElement485() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedBoldText2() (interface{}, error) { +func (p *parser) callonExtraListElement485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) + return p.cur.onExtraListElement485() } -func (c *current) onEscapedBoldText17() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement475(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonEscapedBoldText17() (interface{}, error) { +func (p *parser) callonExtraListElement475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText17() + return p.cur.onExtraListElement475(stack["content"]) } -func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { +func (c *current) onExtraListElement500() (interface{}, error) { - result := append([]interface{}{"*"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "*", result) + return string(c.text), nil } -func (p *parser) callonEscapedBoldText14() (interface{}, error) { +func (p *parser) callonExtraListElement500() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) + return p.cur.onExtraListElement500() } -func (c *current) onEscapedBoldText27() (interface{}, error) { +func (c *current) onExtraListElement503() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonEscapedBoldText27() (interface{}, error) { +func (p *parser) callonExtraListElement503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText27() + return p.cur.onExtraListElement503() } -func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) +func (c *current) onExtraListElement495() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonEscapedBoldText24() (interface{}, error) { +func (p *parser) callonExtraListElement495() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) + return p.cur.onExtraListElement495() } -func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) +func (c *current) onExtraListElement514() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonExtraListElement514() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicText1(stack["elements"]) + return p.cur.onExtraListElement514() } -func (c *current) onDoubleQuoteItalicTextElement17() (interface{}, error) { +func (c *current) onExtraListElement516() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement17() (interface{}, error) { +func (p *parser) callonExtraListElement516() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement17() + return p.cur.onExtraListElement516() } -func (c *current) onDoubleQuoteItalicTextElement10() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement525() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement10() (interface{}, error) { +func (p *parser) callonExtraListElement525() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement10() + return p.cur.onExtraListElement525() } -func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement532() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { +func (p *parser) callonExtraListElement532() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement20() + return p.cur.onExtraListElement532() } -func (c *current) onDoubleQuoteItalicTextElement25() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement535(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil + } -func (p *parser) callonDoubleQuoteItalicTextElement25() (interface{}, error) { +func (p *parser) callonExtraListElement535() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement25() + return p.cur.onExtraListElement535(stack["depth"]) } -func (c *current) onDoubleQuoteItalicTextElement31() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement529(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) callonDoubleQuoteItalicTextElement31() (interface{}, error) { +func (p *parser) callonExtraListElement529() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement31() + return p.cur.onExtraListElement529(stack["depth"]) } -func (c *current) onDoubleQuoteItalicTextElement23() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement536() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) + } -func (p *parser) callonDoubleQuoteItalicTextElement23() (interface{}, error) { +func (p *parser) callonExtraListElement536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement23() + return p.cur.onExtraListElement536() } -func (c *current) onDoubleQuoteItalicTextElement38() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onExtraListElement541() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonDoubleQuoteItalicTextElement38() (bool, error) { +func (p *parser) callonExtraListElement541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement38() + return p.cur.onExtraListElement541() } -func (c *current) onDoubleQuoteItalicTextElement45() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement545() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonDoubleQuoteItalicTextElement45() (interface{}, error) { +func (p *parser) callonExtraListElement545() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement45() + return p.cur.onExtraListElement545() } -func (c *current) onDoubleQuoteItalicTextElement57() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement549() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonDoubleQuoteItalicTextElement57() (interface{}, error) { +func (p *parser) callonExtraListElement549() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement57() + return p.cur.onExtraListElement549() } -func (c *current) onDoubleQuoteItalicTextElement59() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement554() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonDoubleQuoteItalicTextElement59() (interface{}, error) { +func (p *parser) callonExtraListElement554() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement59() + return p.cur.onExtraListElement554() } -func (c *current) onDoubleQuoteItalicTextElement52(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement559(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { +func (p *parser) callonExtraListElement559() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement52(stack["start"]) + return p.cur.onExtraListElement559(stack["prefix"]) } -func (c *current) onDoubleQuoteItalicTextElement41(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExtraListElement522(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteItalicTextElement41() (interface{}, error) { +func (p *parser) callonExtraListElement522() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement41(stack["name"], stack["start"]) + return p.cur.onExtraListElement522(stack["prefix"]) } -func (c *current) onDoubleQuoteItalicTextElement67() (interface{}, error) { +func (c *current) onExtraListElement566() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement67() (interface{}, error) { +func (p *parser) callonExtraListElement566() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement67() + return p.cur.onExtraListElement566() } -func (c *current) onDoubleQuoteItalicTextElement79() (interface{}, error) { +func (c *current) onExtraListElement569() (interface{}, error) { + // `-` or `*` to `*****` return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement79() (interface{}, error) { +func (p *parser) callonExtraListElement569() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement79() + return p.cur.onExtraListElement569() } -func (c *current) onDoubleQuoteItalicTextElement81() (interface{}, error) { +func (c *current) onExtraListElement574(style interface{}) (bool, error) { - return strconv.Atoi(string(c.text)) + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonDoubleQuoteItalicTextElement81() (interface{}, error) { +func (p *parser) callonExtraListElement574() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement81() + return p.cur.onExtraListElement574(stack["style"]) } -func (c *current) onDoubleQuoteItalicTextElement74(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement575(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { +func (p *parser) callonExtraListElement575() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement74(stack["start"]) + return p.cur.onExtraListElement575(stack["style"]) } -func (c *current) onDoubleQuoteItalicTextElement63(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExtraListElement563(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) + } -func (p *parser) callonDoubleQuoteItalicTextElement63() (interface{}, error) { +func (p *parser) callonExtraListElement563() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement63(stack["name"], stack["start"]) + return p.cur.onExtraListElement563(stack["style"]) } -func (c *current) onDoubleQuoteItalicTextElement89() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement583() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement89() (interface{}, error) { +func (p *parser) callonExtraListElement583() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement89() + return p.cur.onExtraListElement583() } -func (c *current) onDoubleQuoteItalicTextElement85(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) onExtraListElement587(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement85() (interface{}, error) { +func (p *parser) callonExtraListElement587() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement85(stack["name"]) + return p.cur.onExtraListElement587(stack["ref"]) } -func (c *current) onDoubleQuoteItalicTextElement99() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement579(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonDoubleQuoteItalicTextElement99() (interface{}, error) { +func (p *parser) callonExtraListElement579() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement99() + return p.cur.onExtraListElement579(stack["ref"]) } -func (c *current) onDoubleQuoteItalicTextElement95(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement599() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement95() (interface{}, error) { +func (p *parser) callonExtraListElement599() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement95(stack["name"]) + return p.cur.onExtraListElement599() } -func (c *current) onDoubleQuoteItalicTextElement36(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement602(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) callonDoubleQuoteItalicTextElement36() (interface{}, error) { +func (p *parser) callonExtraListElement602() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement36(stack["element"]) + return p.cur.onExtraListElement602(stack["separator"]) } -func (c *current) onDoubleQuoteItalicTextElement108() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onExtraListElement596(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteItalicTextElement108() (bool, error) { +func (p *parser) callonExtraListElement596() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement108() + return p.cur.onExtraListElement596(stack["separator"]) } -func (c *current) onDoubleQuoteItalicTextElement115() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onExtraListElement605() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement115() (interface{}, error) { +func (p *parser) callonExtraListElement605() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement115() + return p.cur.onExtraListElement605() } -func (c *current) onDoubleQuoteItalicTextElement117() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onExtraListElement592() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonDoubleQuoteItalicTextElement117() (interface{}, error) { +func (p *parser) callonExtraListElement592() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement117() + return p.cur.onExtraListElement592() } -func (c *current) onDoubleQuoteItalicTextElement119() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onExtraListElement616() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement119() (interface{}, error) { +func (p *parser) callonExtraListElement616() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement119() + return p.cur.onExtraListElement616() } -func (c *current) onDoubleQuoteItalicTextElement121() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onExtraListElement619(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) callonDoubleQuoteItalicTextElement121() (interface{}, error) { +func (p *parser) callonExtraListElement619() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement121() + return p.cur.onExtraListElement619(stack["separator"]) } -func (c *current) onDoubleQuoteItalicTextElement123() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onExtraListElement613(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteItalicTextElement123() (interface{}, error) { +func (p *parser) callonExtraListElement613() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement123() + return p.cur.onExtraListElement613(stack["separator"]) } -func (c *current) onDoubleQuoteItalicTextElement125() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onExtraListElement630() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement125() (interface{}, error) { +func (p *parser) callonExtraListElement630() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement125() + return p.cur.onExtraListElement630() } -func (c *current) onDoubleQuoteItalicTextElement127() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onExtraListElement636() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement127() (interface{}, error) { +func (p *parser) callonExtraListElement636() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement127() + return p.cur.onExtraListElement636() } -func (c *current) onDoubleQuoteItalicTextElement129() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onExtraListElement639() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement129() (interface{}, error) { +func (p *parser) callonExtraListElement639() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement129() + return p.cur.onExtraListElement639() } -func (c *current) onDoubleQuoteItalicTextElement131() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onExtraListElement627(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement131() (interface{}, error) { +func (p *parser) callonExtraListElement627() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement131() + return p.cur.onExtraListElement627(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement136() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onExtraListElement649() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement136() (bool, error) { +func (p *parser) callonExtraListElement649() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement136() + return p.cur.onExtraListElement649() } -func (c *current) onDoubleQuoteItalicTextElement138() (interface{}, error) { +func (c *current) onExtraListElement655() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement138() (interface{}, error) { +func (p *parser) callonExtraListElement655() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement138() + return p.cur.onExtraListElement655() } -func (c *current) onDoubleQuoteItalicTextElement142() (interface{}, error) { +func (c *current) onExtraListElement658() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement142() (interface{}, error) { +func (p *parser) callonExtraListElement658() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement142() -} - -func (c *current) onDoubleQuoteItalicTextElement133() (interface{}, error) { - return types.NewSymbol(" -- ") - + return p.cur.onExtraListElement658() } -func (p *parser) callonDoubleQuoteItalicTextElement133() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDoubleQuoteItalicTextElement133() -} +func (c *current) onExtraListElement646(delimiter interface{}) (interface{}, error) { -func (c *current) onDoubleQuoteItalicTextElement152() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement152() (bool, error) { +func (p *parser) callonExtraListElement646() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement152() + return p.cur.onExtraListElement646(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement156() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement669() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement156() (interface{}, error) { +func (p *parser) callonExtraListElement669() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement156() -} - -func (c *current) onDoubleQuoteItalicTextElement149() (interface{}, error) { - return types.NewSymbol("--") - + return p.cur.onExtraListElement669() } -func (p *parser) callonDoubleQuoteItalicTextElement149() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDoubleQuoteItalicTextElement149() -} +func (c *current) onExtraListElement673() (interface{}, error) { -func (c *current) onDoubleQuoteItalicTextElement163() (interface{}, error) { - return types.NewSymbol("<-") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement163() (interface{}, error) { +func (p *parser) callonExtraListElement673() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement163() + return p.cur.onExtraListElement673() } -func (c *current) onDoubleQuoteItalicTextElement165() (interface{}, error) { - return types.NewSymbol("=>") - +func (c *current) onExtraListElement676() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement165() (interface{}, error) { +func (p *parser) callonExtraListElement676() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement165() + return p.cur.onExtraListElement676() } -func (c *current) onDoubleQuoteItalicTextElement167() (interface{}, error) { - return types.NewSymbol("<=") - +func (c *current) onExtraListElement665(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement167() (interface{}, error) { +func (p *parser) callonExtraListElement665() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement167() + return p.cur.onExtraListElement665(stack["language"]) } -func (c *current) onDoubleQuoteItalicTextElement111() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onExtraListElement686() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement111() (interface{}, error) { +func (p *parser) callonExtraListElement686() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement111() + return p.cur.onExtraListElement686() } -func (c *current) onDoubleQuoteItalicTextElement169() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onExtraListElement692() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement169() (interface{}, error) { +func (p *parser) callonExtraListElement692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement169() + return p.cur.onExtraListElement692() } -func (c *current) onDoubleQuoteItalicTextElement171() (interface{}, error) { - return types.NewSymbol("`\"") - +func (c *current) onExtraListElement695() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement171() (interface{}, error) { +func (p *parser) callonExtraListElement695() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement171() + return p.cur.onExtraListElement695() } -func (c *current) onDoubleQuoteItalicTextElement173() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onExtraListElement683(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement173() (interface{}, error) { +func (p *parser) callonExtraListElement683() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement173() + return p.cur.onExtraListElement683(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement175() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onExtraListElement705() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement175() (interface{}, error) { +func (p *parser) callonExtraListElement705() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement175() + return p.cur.onExtraListElement705() } -func (c *current) onDoubleQuoteItalicTextElement177() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onExtraListElement711() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement177() (interface{}, error) { +func (p *parser) callonExtraListElement711() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement177() + return p.cur.onExtraListElement711() } -func (c *current) onDoubleQuoteItalicTextElement179() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onExtraListElement714() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement179() (interface{}, error) { +func (p *parser) callonExtraListElement714() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement179() + return p.cur.onExtraListElement714() } -func (c *current) onDoubleQuoteItalicTextElement181() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onExtraListElement702(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement181() (interface{}, error) { +func (p *parser) callonExtraListElement702() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement181() + return p.cur.onExtraListElement702(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement183() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onExtraListElement724() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement183() (interface{}, error) { +func (p *parser) callonExtraListElement724() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement183() + return p.cur.onExtraListElement724() } -func (c *current) onDoubleQuoteItalicTextElement188() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onExtraListElement730() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement188() (bool, error) { +func (p *parser) callonExtraListElement730() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement188() + return p.cur.onExtraListElement730() } -func (c *current) onDoubleQuoteItalicTextElement190() (interface{}, error) { +func (c *current) onExtraListElement733() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement190() (interface{}, error) { +func (p *parser) callonExtraListElement733() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement190() + return p.cur.onExtraListElement733() } -func (c *current) onDoubleQuoteItalicTextElement194() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement721(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonDoubleQuoteItalicTextElement194() (interface{}, error) { +func (p *parser) callonExtraListElement721() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement194() + return p.cur.onExtraListElement721(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement185() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onExtraListElement743() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement185() (interface{}, error) { +func (p *parser) callonExtraListElement743() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement185() + return p.cur.onExtraListElement743() } -func (c *current) onDoubleQuoteItalicTextElement204() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onExtraListElement749() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement204() (bool, error) { +func (p *parser) callonExtraListElement749() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement204() + return p.cur.onExtraListElement749() } -func (c *current) onDoubleQuoteItalicTextElement208() (interface{}, error) { +func (c *current) onExtraListElement752() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement208() (interface{}, error) { +func (p *parser) callonExtraListElement752() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement208() + return p.cur.onExtraListElement752() } -func (c *current) onDoubleQuoteItalicTextElement201() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onExtraListElement740(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement201() (interface{}, error) { +func (p *parser) callonExtraListElement740() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement201() + return p.cur.onExtraListElement740(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement215() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onExtraListElement762() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement215() (interface{}, error) { +func (p *parser) callonExtraListElement762() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement215() + return p.cur.onExtraListElement762() } -func (c *current) onDoubleQuoteItalicTextElement217() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onExtraListElement768() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement217() (interface{}, error) { +func (p *parser) callonExtraListElement768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement217() + return p.cur.onExtraListElement768() } -func (c *current) onDoubleQuoteItalicTextElement219() (interface{}, error) { - return types.NewSymbol("=>") - +func (c *current) onExtraListElement771() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement219() (interface{}, error) { +func (p *parser) callonExtraListElement771() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement219() + return p.cur.onExtraListElement771() } -func (c *current) onDoubleQuoteItalicTextElement221() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onExtraListElement759(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement221() (interface{}, error) { +func (p *parser) callonExtraListElement759() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement221() + return p.cur.onExtraListElement759(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement223() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onExtraListElement781() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement223() (interface{}, error) { +func (p *parser) callonExtraListElement781() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement223() + return p.cur.onExtraListElement781() } -func (c *current) onDoubleQuoteItalicTextElement230() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onExtraListElement787() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement230() (bool, error) { +func (p *parser) callonExtraListElement787() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement230() + return p.cur.onExtraListElement787() } -func (c *current) onDoubleQuoteItalicTextElement228() (interface{}, error) { - return types.NewSymbol("'") - +func (c *current) onExtraListElement790() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement228() (interface{}, error) { +func (p *parser) callonExtraListElement790() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement228() + return p.cur.onExtraListElement790() } -func (c *current) onDoubleQuoteItalicTextElement106(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement778(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement106() (interface{}, error) { +func (p *parser) callonExtraListElement778() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement106(stack["element"]) + return p.cur.onExtraListElement778(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement236() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onExtraListElement621(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonDoubleQuoteItalicTextElement236() (bool, error) { +func (p *parser) callonExtraListElement621() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement236() + return p.cur.onExtraListElement621(stack["delimiter"]) } -func (c *current) onDoubleQuoteItalicTextElement245() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onExtraListElement798() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement245() (interface{}, error) { +func (p *parser) callonExtraListElement798() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement245() + return p.cur.onExtraListElement798() } -func (c *current) onDoubleQuoteItalicTextElement249() (interface{}, error) { +func (c *current) onExtraListElement802() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement249() (interface{}, error) { +func (p *parser) callonExtraListElement802() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement249() + return p.cur.onExtraListElement802() } -func (c *current) onDoubleQuoteItalicTextElement255() (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) onExtraListElement492(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement255() (interface{}, error) { +func (p *parser) callonExtraListElement492() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement255() + return p.cur.onExtraListElement492(stack["content"]) } -func (c *current) onDoubleQuoteItalicTextElement264() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement264() (interface{}, error) { +func (p *parser) callonExtraListElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement264() + return p.cur.onExtraListElement1(stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement260(name interface{}) (interface{}, error) { +func (c *current) onListContinuation7() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement260() (interface{}, error) { +func (p *parser) callonListContinuation7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement260(stack["name"]) + return p.cur.onListContinuation7() } -func (c *current) onDoubleQuoteItalicTextElement274() (interface{}, error) { +func (c *current) onListContinuation9() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteItalicTextElement274() (interface{}, error) { +func (p *parser) callonListContinuation9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement274() + return p.cur.onListContinuation9() } -func (c *current) onDoubleQuoteItalicTextElement270(name interface{}) (interface{}, error) { +func (c *current) onListContinuation16() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement270() (interface{}, error) { +func (p *parser) callonListContinuation16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement270(stack["name"]) + return p.cur.onListContinuation16() } -func (c *current) onDoubleQuoteItalicTextElement280() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onListContinuation18(offset interface{}) (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement280() (interface{}, error) { +func (p *parser) callonListContinuation18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement280() + return p.cur.onListContinuation18(stack["offset"]) } -func (c *current) onDoubleQuoteItalicTextElement241(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onListContinuation1(offset, element interface{}) (interface{}, error) { + return types.NewListContinuation(len(offset.([]interface{})), element) } -func (p *parser) callonDoubleQuoteItalicTextElement241() (interface{}, error) { +func (p *parser) callonListContinuation1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement241(stack["id"], stack["label"]) + return p.cur.onListContinuation1(stack["offset"], stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement287() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement13() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement287() (interface{}, error) { +func (p *parser) callonListContinuationElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement287() + return p.cur.onListContinuationElement13() } -func (c *current) onDoubleQuoteItalicTextElement283(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onListContinuationElement20() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonDoubleQuoteItalicTextElement283() (interface{}, error) { +func (p *parser) callonListContinuationElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement283(stack["id"]) + return p.cur.onListContinuationElement20() } -func (c *current) onDoubleQuoteItalicTextElement239() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement23(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonDoubleQuoteItalicTextElement239() (interface{}, error) { +func (p *parser) callonListContinuationElement23() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement239() + return p.cur.onListContinuationElement23(stack["depth"]) } -func (c *current) onDoubleQuoteItalicTextElement291() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListContinuationElement17(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) callonDoubleQuoteItalicTextElement291() (interface{}, error) { +func (p *parser) callonListContinuationElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement291() + return p.cur.onListContinuationElement17(stack["depth"]) } -func (c *current) onDoubleQuoteItalicTextElement234(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement24() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonDoubleQuoteItalicTextElement234() (interface{}, error) { +func (p *parser) callonListContinuationElement24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement234(stack["element"]) + return p.cur.onListContinuationElement24() } -func (c *current) onDoubleQuoteItalicTextElement298() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement29() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + } -func (p *parser) callonDoubleQuoteItalicTextElement298() (interface{}, error) { +func (p *parser) callonListContinuationElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement298() + return p.cur.onListContinuationElement29() } -func (c *current) onDoubleQuoteItalicTextElement294(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListContinuationElement33() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) + } -func (p *parser) callonDoubleQuoteItalicTextElement294() (interface{}, error) { +func (p *parser) callonListContinuationElement33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement294(stack["ref"]) + return p.cur.onListContinuationElement33() } -func (c *current) onDoubleQuoteItalicTextElement302() (interface{}, error) { - - return string(c.text), nil +func (c *current) onListContinuationElement37() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonDoubleQuoteItalicTextElement302() (interface{}, error) { +func (p *parser) callonListContinuationElement37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement302() + return p.cur.onListContinuationElement37() } -func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil +func (c *current) onListContinuationElement42() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { +func (p *parser) callonListContinuationElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) + return p.cur.onListContinuationElement42() } -func (c *current) onSingleQuoteItalicText4() (bool, error) { - log.Debug("SingleQuoteItalicTextStartDelimiter") - return c.isSingleQuotedTextAllowed(), nil +func (c *current) onListContinuationElement47(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicText4() (bool, error) { +func (p *parser) callonListContinuationElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicText4() + return p.cur.onListContinuationElement47(stack["prefix"]) } -func (c *current) onSingleQuoteItalicText13(elements interface{}) (bool, error) { - log.Debug("SingleQuoteItalicTextEndDelimiter") - return !c.isPrecededBySpace(), nil - +func (c *current) onListContinuationElement10(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonSingleQuoteItalicText13() (bool, error) { +func (p *parser) callonListContinuationElement10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicText13(stack["elements"]) + return p.cur.onListContinuationElement10(stack["prefix"]) } -func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) +func (c *current) onListContinuationElement55() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonListContinuationElement55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicText1(stack["elements"]) + return p.cur.onListContinuationElement55() } -func (c *current) onSingleQuoteItalicTextElements4() (interface{}, error) { +func (c *current) onListContinuationElement59() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElements4() (interface{}, error) { +func (p *parser) callonListContinuationElement59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements4() + return p.cur.onListContinuationElement59() } -func (c *current) onSingleQuoteItalicTextElements9(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onListContinuationElement51(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonSingleQuoteItalicTextElements9() (bool, error) { +func (p *parser) callonListContinuationElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements9(stack["elements"]) + return p.cur.onListContinuationElement51(stack["rawLines"]) } -func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onListContinuationElement7(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { +func (p *parser) callonListContinuationElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) + return p.cur.onListContinuationElement7(stack["prefix"], stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement11() (bool, error) { - log.Debug("SingleQuoteItalicTextEndDelimiter") - return !c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement72() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement11() (bool, error) { +func (p *parser) callonListContinuationElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement11() + return p.cur.onListContinuationElement72() } -func (c *current) onSingleQuoteItalicTextElement24() (interface{}, error) { +func (c *current) onListContinuationElement75() (interface{}, error) { + // `-` or `*` to `*****` return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement24() (interface{}, error) { +func (p *parser) callonListContinuationElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement24() + return p.cur.onListContinuationElement75() } -func (c *current) onSingleQuoteItalicTextElement17() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement80(style interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonSingleQuoteItalicTextElement17() (interface{}, error) { +func (p *parser) callonListContinuationElement80() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement17() + return p.cur.onListContinuationElement80(stack["style"]) } -func (c *current) onSingleQuoteItalicTextElement27() (interface{}, error) { +func (c *current) onListContinuationElement81(style interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement27() (interface{}, error) { +func (p *parser) callonListContinuationElement81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement27() + return p.cur.onListContinuationElement81(stack["style"]) } -func (c *current) onSingleQuoteItalicTextElement32() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement69(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) + } -func (p *parser) callonSingleQuoteItalicTextElement32() (interface{}, error) { +func (p *parser) callonListContinuationElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement32() + return p.cur.onListContinuationElement69(stack["style"]) } -func (c *current) onSingleQuoteItalicTextElement38() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement92() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonSingleQuoteItalicTextElement38() (interface{}, error) { +func (p *parser) callonListContinuationElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement38() + return p.cur.onListContinuationElement92() } -func (c *current) onSingleQuoteItalicTextElement30() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement94() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonSingleQuoteItalicTextElement30() (interface{}, error) { +func (p *parser) callonListContinuationElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement30() + return p.cur.onListContinuationElement94() } -func (c *current) onSingleQuoteItalicTextElement45() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - +func (c *current) onListContinuationElement96() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonSingleQuoteItalicTextElement45() (bool, error) { +func (p *parser) callonListContinuationElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement45() + return p.cur.onListContinuationElement96() } -func (c *current) onSingleQuoteItalicTextElement52() (interface{}, error) { +func (c *current) onListContinuationElement98(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement52() (interface{}, error) { +func (p *parser) callonListContinuationElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement52() + return p.cur.onListContinuationElement98(stack["style"]) } -func (c *current) onSingleQuoteItalicTextElement64() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement86(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { +func (p *parser) callonListContinuationElement86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement64() + return p.cur.onListContinuationElement86(stack["style"]) } -func (c *current) onSingleQuoteItalicTextElement66() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListContinuationElement106() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement66() (interface{}, error) { +func (p *parser) callonListContinuationElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement66() + return p.cur.onListContinuationElement106() } -func (c *current) onSingleQuoteItalicTextElement59(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListContinuationElement110() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement59() (interface{}, error) { +func (p *parser) callonListContinuationElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement59(stack["start"]) + return p.cur.onListContinuationElement110() } -func (c *current) onSingleQuoteItalicTextElement48(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListContinuationElement102(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) + } -func (p *parser) callonSingleQuoteItalicTextElement48() (interface{}, error) { +func (p *parser) callonListContinuationElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement48(stack["name"], stack["start"]) + return p.cur.onListContinuationElement102(stack["rawLines"]) } -func (c *current) onSingleQuoteItalicTextElement74() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement66(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonSingleQuoteItalicTextElement74() (interface{}, error) { +func (p *parser) callonListContinuationElement66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement74() + return p.cur.onListContinuationElement66(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement86() (interface{}, error) { - return string(c.text), nil - +func (c *current) onListContinuationElement124() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement86() (interface{}, error) { +func (p *parser) callonListContinuationElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement86() + return p.cur.onListContinuationElement124() } -func (c *current) onSingleQuoteItalicTextElement88() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListContinuationElement128(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement88() (interface{}, error) { +func (p *parser) callonListContinuationElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement88() + return p.cur.onListContinuationElement128(stack["ref"]) } -func (c *current) onSingleQuoteItalicTextElement81(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListContinuationElement120(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonSingleQuoteItalicTextElement81() (interface{}, error) { +func (p *parser) callonListContinuationElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement81(stack["start"]) + return p.cur.onListContinuationElement120(stack["ref"]) } -func (c *current) onSingleQuoteItalicTextElement70(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListContinuationElement136() (interface{}, error) { + return types.NewRawLine(string(c.text)) + } -func (p *parser) callonSingleQuoteItalicTextElement70() (interface{}, error) { +func (p *parser) callonListContinuationElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement70(stack["name"], stack["start"]) + return p.cur.onListContinuationElement136() } -func (c *current) onSingleQuoteItalicTextElement96() (interface{}, error) { +func (c *current) onListContinuationElement140() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { +func (p *parser) callonListContinuationElement140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement96() + return p.cur.onListContinuationElement140() } -func (c *current) onSingleQuoteItalicTextElement92(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) onListContinuationElement132(rawLines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawLines.([]interface{})...) } -func (p *parser) callonSingleQuoteItalicTextElement92() (interface{}, error) { +func (p *parser) callonListContinuationElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement92(stack["name"]) + return p.cur.onListContinuationElement132(stack["rawLines"]) } -func (c *current) onSingleQuoteItalicTextElement106() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement117(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonSingleQuoteItalicTextElement106() (interface{}, error) { +func (p *parser) callonListContinuationElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement106() + return p.cur.onListContinuationElement117(stack["ref"], stack["description"]) } -func (c *current) onSingleQuoteItalicTextElement102(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement157() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement102() (interface{}, error) { +func (p *parser) callonListContinuationElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement102(stack["name"]) + return p.cur.onListContinuationElement157() } -func (c *current) onSingleQuoteItalicTextElement43(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement160(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) callonSingleQuoteItalicTextElement43() (interface{}, error) { +func (p *parser) callonListContinuationElement160() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement43(stack["element"]) + return p.cur.onListContinuationElement160(stack["separator"]) } -func (c *current) onSingleQuoteItalicTextElement115() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onListContinuationElement154(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonSingleQuoteItalicTextElement115() (bool, error) { +func (p *parser) callonListContinuationElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement115() + return p.cur.onListContinuationElement154(stack["separator"]) } -func (c *current) onSingleQuoteItalicTextElement122() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onListContinuationElement163() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement122() (interface{}, error) { +func (p *parser) callonListContinuationElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement122() + return p.cur.onListContinuationElement163() } -func (c *current) onSingleQuoteItalicTextElement124() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement150() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonSingleQuoteItalicTextElement124() (interface{}, error) { +func (p *parser) callonListContinuationElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement124() + return p.cur.onListContinuationElement150() } -func (c *current) onSingleQuoteItalicTextElement126() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListContinuationElement175() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement126() (interface{}, error) { +func (p *parser) callonListContinuationElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement126() + return p.cur.onListContinuationElement175() } -func (c *current) onSingleQuoteItalicTextElement128() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement178(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) callonSingleQuoteItalicTextElement128() (interface{}, error) { +func (p *parser) callonListContinuationElement178() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement128() + return p.cur.onListContinuationElement178(stack["separator"]) } -func (c *current) onSingleQuoteItalicTextElement130() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement172(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonSingleQuoteItalicTextElement130() (interface{}, error) { +func (p *parser) callonListContinuationElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement130() + return p.cur.onListContinuationElement172(stack["separator"]) } -func (c *current) onSingleQuoteItalicTextElement132() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onListContinuationElement184() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement132() (interface{}, error) { +func (p *parser) callonListContinuationElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement132() + return p.cur.onListContinuationElement184() } -func (c *current) onSingleQuoteItalicTextElement134() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onListContinuationElement187() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement134() (interface{}, error) { +func (p *parser) callonListContinuationElement187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement134() + return p.cur.onListContinuationElement187() } -func (c *current) onSingleQuoteItalicTextElement136() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement200() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement136() (interface{}, error) { +func (p *parser) callonListContinuationElement200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement136() + return p.cur.onListContinuationElement200() } -func (c *current) onSingleQuoteItalicTextElement138() (interface{}, error) { - return types.NewSymbol("->") - +func (c *current) onListContinuationElement203() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement138() (interface{}, error) { +func (p *parser) callonListContinuationElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement138() + return p.cur.onListContinuationElement203() } -func (c *current) onSingleQuoteItalicTextElement143() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement195() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteItalicTextElement143() (bool, error) { +func (p *parser) callonListContinuationElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement143() + return p.cur.onListContinuationElement195() } -func (c *current) onSingleQuoteItalicTextElement145() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement181() (interface{}, error) { + return nil, nil } -func (p *parser) callonSingleQuoteItalicTextElement145() (interface{}, error) { +func (p *parser) callonListContinuationElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement145() + return p.cur.onListContinuationElement181() } -func (c *current) onSingleQuoteItalicTextElement149() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement212() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil -} - -func (p *parser) callonSingleQuoteItalicTextElement149() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteItalicTextElement149() -} - -func (c *current) onSingleQuoteItalicTextElement140() (interface{}, error) { - return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteItalicTextElement140() (interface{}, error) { +func (p *parser) callonListContinuationElement212() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement140() + return p.cur.onListContinuationElement212() } -func (c *current) onSingleQuoteItalicTextElement159() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement216() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement159() (bool, error) { +func (p *parser) callonListContinuationElement216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement159() + return p.cur.onListContinuationElement216() } -func (c *current) onSingleQuoteItalicTextElement163() (interface{}, error) { +func (c *current) onListContinuationElement220() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement163() (interface{}, error) { +func (p *parser) callonListContinuationElement220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement163() + return p.cur.onListContinuationElement220() } -func (c *current) onSingleQuoteItalicTextElement156() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListContinuationElement210(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) } -func (p *parser) callonSingleQuoteItalicTextElement156() (interface{}, error) { +func (p *parser) callonListContinuationElement210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement156() + return p.cur.onListContinuationElement210(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement170() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListContinuationElement147(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonSingleQuoteItalicTextElement170() (interface{}, error) { +func (p *parser) callonListContinuationElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement170() + return p.cur.onListContinuationElement147(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onSingleQuoteItalicTextElement172() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement237() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement172() (interface{}, error) { +func (p *parser) callonListContinuationElement237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement172() + return p.cur.onListContinuationElement237() } -func (c *current) onSingleQuoteItalicTextElement174() (interface{}, error) { - return types.NewSymbol("<=") - +func (c *current) onListContinuationElement240() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement174() (interface{}, error) { +func (p *parser) callonListContinuationElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement174() + return p.cur.onListContinuationElement240() } -func (c *current) onSingleQuoteItalicTextElement118() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onListContinuationElement232() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteItalicTextElement118() (interface{}, error) { +func (p *parser) callonListContinuationElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement118() + return p.cur.onListContinuationElement232() } -func (c *current) onSingleQuoteItalicTextElement176() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListContinuationElement252() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement176() (interface{}, error) { +func (p *parser) callonListContinuationElement252() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement176() + return p.cur.onListContinuationElement252() } -func (c *current) onSingleQuoteItalicTextElement178() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement259() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement178() (interface{}, error) { +func (p *parser) callonListContinuationElement259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement178() + return p.cur.onListContinuationElement259() } -func (c *current) onSingleQuoteItalicTextElement180() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onListContinuationElement262() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement180() (interface{}, error) { +func (p *parser) callonListContinuationElement262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement180() + return p.cur.onListContinuationElement262() } -func (c *current) onSingleQuoteItalicTextElement182() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement248(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement182() (interface{}, error) { +func (p *parser) callonListContinuationElement248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement182() + return p.cur.onListContinuationElement248(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement184() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement273() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement184() (interface{}, error) { +func (p *parser) callonListContinuationElement273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement184() + return p.cur.onListContinuationElement273() } -func (c *current) onSingleQuoteItalicTextElement186() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onListContinuationElement280() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement186() (interface{}, error) { +func (p *parser) callonListContinuationElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement186() + return p.cur.onListContinuationElement280() } -func (c *current) onSingleQuoteItalicTextElement188() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onListContinuationElement283() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement188() (interface{}, error) { +func (p *parser) callonListContinuationElement283() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement188() + return p.cur.onListContinuationElement283() } -func (c *current) onSingleQuoteItalicTextElement190() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement269(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement190() (interface{}, error) { +func (p *parser) callonListContinuationElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement190() + return p.cur.onListContinuationElement269(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement195() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement295() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement195() (bool, error) { +func (p *parser) callonListContinuationElement295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement195() + return p.cur.onListContinuationElement295() } -func (c *current) onSingleQuoteItalicTextElement197() (interface{}, error) { +func (c *current) onListContinuationElement301() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement197() (interface{}, error) { +func (p *parser) callonListContinuationElement301() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement197() + return p.cur.onListContinuationElement301() } -func (c *current) onSingleQuoteItalicTextElement201() (interface{}, error) { +func (c *current) onListContinuationElement304() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement201() (interface{}, error) { +func (p *parser) callonListContinuationElement304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement201() -} - -func (c *current) onSingleQuoteItalicTextElement192() (interface{}, error) { - return types.NewSymbol(" -- ") - + return p.cur.onListContinuationElement304() } -func (p *parser) callonSingleQuoteItalicTextElement192() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteItalicTextElement192() -} +func (c *current) onListContinuationElement292(delimiter interface{}) (interface{}, error) { -func (c *current) onSingleQuoteItalicTextElement211() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement211() (bool, error) { +func (p *parser) callonListContinuationElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement211() + return p.cur.onListContinuationElement292(stack["delimiter"]) } -func (c *current) onSingleQuoteItalicTextElement215() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement320() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil -} - -func (p *parser) callonSingleQuoteItalicTextElement215() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteItalicTextElement215() -} - -func (c *current) onSingleQuoteItalicTextElement208() (interface{}, error) { - return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteItalicTextElement208() (interface{}, error) { +func (p *parser) callonListContinuationElement320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement208() + return p.cur.onListContinuationElement320() } -func (c *current) onSingleQuoteItalicTextElement222() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onListContinuationElement326() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement222() (interface{}, error) { +func (p *parser) callonListContinuationElement326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement222() + return p.cur.onListContinuationElement326() } -func (c *current) onSingleQuoteItalicTextElement224() (interface{}, error) { - return types.NewSymbol("<-") - +func (c *current) onListContinuationElement329() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement224() (interface{}, error) { +func (p *parser) callonListContinuationElement329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement224() + return p.cur.onListContinuationElement329() } -func (c *current) onSingleQuoteItalicTextElement226() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement317(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement226() (interface{}, error) { +func (p *parser) callonListContinuationElement317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement226() + return p.cur.onListContinuationElement317(stack["delimiter"]) } -func (c *current) onSingleQuoteItalicTextElement228() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListContinuationElement344() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement228() (interface{}, error) { +func (p *parser) callonListContinuationElement344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement228() + return p.cur.onListContinuationElement344() } -func (c *current) onSingleQuoteItalicTextElement230() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char - +func (c *current) onListContinuationElement348() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement230() (interface{}, error) { +func (p *parser) callonListContinuationElement348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement230() + return p.cur.onListContinuationElement348() } -func (c *current) onSingleQuoteItalicTextElement237() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement339(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement237() (bool, error) { +func (p *parser) callonListContinuationElement339() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement237() + return p.cur.onListContinuationElement339(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement235() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onListContinuationElement313(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteItalicTextElement235() (interface{}, error) { +func (p *parser) callonListContinuationElement313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement235() + return p.cur.onListContinuationElement313(stack["line"]) } -func (c *current) onSingleQuoteItalicTextElement113(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement360() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement113() (interface{}, error) { +func (p *parser) callonListContinuationElement360() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement113(stack["element"]) + return p.cur.onListContinuationElement360() } -func (c *current) onSingleQuoteItalicTextElement243() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onListContinuationElement366() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement243() (bool, error) { +func (p *parser) callonListContinuationElement366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement243() + return p.cur.onListContinuationElement366() } -func (c *current) onSingleQuoteItalicTextElement252() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement369() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement252() (interface{}, error) { +func (p *parser) callonListContinuationElement369() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement252() + return p.cur.onListContinuationElement369() } -func (c *current) onSingleQuoteItalicTextElement256() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement357(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement256() (interface{}, error) { +func (p *parser) callonListContinuationElement357() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement256() + return p.cur.onListContinuationElement357(stack["delimiter"]) } -func (c *current) onSingleQuoteItalicTextElement262() (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) onListContinuationElement290(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonSingleQuoteItalicTextElement262() (interface{}, error) { +func (p *parser) callonListContinuationElement290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement262() + return p.cur.onListContinuationElement290(stack["delimiter"], stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement271() (interface{}, error) { +func (c *current) onListContinuationElement384() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement271() (interface{}, error) { +func (p *parser) callonListContinuationElement384() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement271() + return p.cur.onListContinuationElement384() } -func (c *current) onSingleQuoteItalicTextElement267(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement390() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement267() (interface{}, error) { +func (p *parser) callonListContinuationElement390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement267(stack["name"]) + return p.cur.onListContinuationElement390() } -func (c *current) onSingleQuoteItalicTextElement281() (interface{}, error) { +func (c *current) onListContinuationElement393() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteItalicTextElement281() (interface{}, error) { +func (p *parser) callonListContinuationElement393() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement281() + return p.cur.onListContinuationElement393() } -func (c *current) onSingleQuoteItalicTextElement277(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement381(delimiter interface{}) (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement277() (interface{}, error) { +func (p *parser) callonListContinuationElement381() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement277(stack["name"]) + return p.cur.onListContinuationElement381(stack["delimiter"]) } -func (c *current) onSingleQuoteItalicTextElement287() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement400(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteItalicTextElement287() (interface{}, error) { +func (p *parser) callonListContinuationElement400() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement287() + return p.cur.onListContinuationElement400(stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement248(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onListContinuationElement412() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement248() (interface{}, error) { +func (p *parser) callonListContinuationElement412() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement248(stack["id"], stack["label"]) + return p.cur.onListContinuationElement412() } -func (c *current) onSingleQuoteItalicTextElement294() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement418() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement294() (interface{}, error) { +func (p *parser) callonListContinuationElement418() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement294() + return p.cur.onListContinuationElement418() } -func (c *current) onSingleQuoteItalicTextElement290(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onListContinuationElement421() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement290() (interface{}, error) { +func (p *parser) callonListContinuationElement421() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement290(stack["id"]) + return p.cur.onListContinuationElement421() } -func (c *current) onSingleQuoteItalicTextElement246() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement409(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement246() (interface{}, error) { +func (p *parser) callonListContinuationElement409() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement246() + return p.cur.onListContinuationElement409(stack["delimiter"]) } -func (c *current) onSingleQuoteItalicTextElement298() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListContinuationElement428(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteItalicTextElement298() (interface{}, error) { +func (p *parser) callonListContinuationElement428() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement298() + return p.cur.onListContinuationElement428(stack["end"]) } -func (c *current) onSingleQuoteItalicTextElement241(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement437() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement241() (interface{}, error) { +func (p *parser) callonListContinuationElement437() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement241(stack["element"]) + return p.cur.onListContinuationElement437() } -func (c *current) onSingleQuoteItalicTextElement305() (interface{}, error) { +func (c *current) onListContinuationElement441() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement305() (interface{}, error) { +func (p *parser) callonListContinuationElement441() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement305() + return p.cur.onListContinuationElement441() } -func (c *current) onSingleQuoteItalicTextElement301(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListContinuationElement432(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + } -func (p *parser) callonSingleQuoteItalicTextElement301() (interface{}, error) { +func (p *parser) callonListContinuationElement432() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement301(stack["ref"]) + return p.cur.onListContinuationElement432(stack["content"]) } -func (c *current) onSingleQuoteItalicTextElement309() (interface{}, error) { - - return string(c.text), nil +func (c *current) onListContinuationElement403(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteItalicTextElement309() (interface{}, error) { +func (p *parser) callonListContinuationElement403() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement309() + return p.cur.onListContinuationElement403(stack["line"]) } -func (c *current) onSingleQuoteItalicTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil +func (c *current) onListContinuationElement456() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement1() (interface{}, error) { +func (p *parser) callonListContinuationElement456() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement1(stack["element"]) + return p.cur.onListContinuationElement456() } -func (c *current) onEscapedItalicText5() (interface{}, error) { +func (c *current) onListContinuationElement462() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedItalicText5() (interface{}, error) { +func (p *parser) callonListContinuationElement462() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText5() + return p.cur.onListContinuationElement462() } -func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) - +func (c *current) onListContinuationElement465() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedItalicText2() (interface{}, error) { +func (p *parser) callonListContinuationElement465() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) + return p.cur.onListContinuationElement465() } -func (c *current) onEscapedItalicText17() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement453(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonEscapedItalicText17() (interface{}, error) { +func (p *parser) callonListContinuationElement453() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText17() + return p.cur.onListContinuationElement453(stack["delimiter"]) } -func (c *current) onEscapedItalicText14(backslashes, elements interface{}) (interface{}, error) { - // unbalanced `__` vs `_` punctuation - result := append([]interface{}{"_"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "_", result) +func (c *current) onListContinuationElement472(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonEscapedItalicText14() (interface{}, error) { +func (p *parser) callonListContinuationElement472() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) + return p.cur.onListContinuationElement472(stack["end"]) } -func (c *current) onEscapedItalicText27() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement378(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Example, content.([]interface{})) } -func (p *parser) callonEscapedItalicText27() (interface{}, error) { +func (p *parser) callonListContinuationElement378() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText27() + return p.cur.onListContinuationElement378(stack["start"], stack["content"], stack["end"]) } -func (c *current) onEscapedItalicText24(backslashes, elements interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "_", elements.([]interface{})) - +func (c *current) onListContinuationElement482() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonEscapedItalicText24() (interface{}, error) { +func (p *parser) callonListContinuationElement482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) + return p.cur.onListContinuationElement482() } -func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { +func (c *current) onListContinuationElement486() (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonListContinuationElement486() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) + return p.cur.onListContinuationElement486() } -func (c *current) onDoubleQuoteMonospaceTextElement17() (interface{}, error) { +func (c *current) onListContinuationElement489() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement17() (interface{}, error) { +func (p *parser) callonListContinuationElement489() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement17() + return p.cur.onListContinuationElement489() } -func (c *current) onDoubleQuoteMonospaceTextElement10() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onListContinuationElement478(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement10() (interface{}, error) { +func (p *parser) callonListContinuationElement478() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement10() + return p.cur.onListContinuationElement478(stack["language"]) } -func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement504() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { +func (p *parser) callonListContinuationElement504() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement20() + return p.cur.onListContinuationElement504() } -func (c *current) onDoubleQuoteMonospaceTextElement25() (interface{}, error) { +func (c *current) onListContinuationElement507() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement25() (interface{}, error) { +func (p *parser) callonListContinuationElement507() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement25() + return p.cur.onListContinuationElement507() } -func (c *current) onDoubleQuoteMonospaceTextElement31() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement520() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { +func (p *parser) callonListContinuationElement520() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement31() + return p.cur.onListContinuationElement520() } -func (c *current) onDoubleQuoteMonospaceTextElement23() (interface{}, error) { +func (c *current) onListContinuationElement524() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement23() (interface{}, error) { +func (p *parser) callonListContinuationElement524() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement23() + return p.cur.onListContinuationElement524() } -func (c *current) onDoubleQuoteMonospaceTextElement38() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onListContinuationElement515(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement38() (bool, error) { +func (p *parser) callonListContinuationElement515() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement38() + return p.cur.onListContinuationElement515(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement45() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement498(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement45() (interface{}, error) { +func (p *parser) callonListContinuationElement498() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement45() + return p.cur.onListContinuationElement498(stack["line"]) } -func (c *current) onDoubleQuoteMonospaceTextElement57() (interface{}, error) { +func (c *current) onListContinuationElement535() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement57() (interface{}, error) { +func (p *parser) callonListContinuationElement535() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement57() + return p.cur.onListContinuationElement535() } -func (c *current) onDoubleQuoteMonospaceTextElement59() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onListContinuationElement538() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement59() (interface{}, error) { +func (p *parser) callonListContinuationElement538() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement59() + return p.cur.onListContinuationElement538() } -func (c *current) onDoubleQuoteMonospaceTextElement52(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListContinuationElement475(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) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { +func (p *parser) callonListContinuationElement475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement52(stack["start"]) + return p.cur.onListContinuationElement475(stack["delimiter"], stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement41(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListContinuationElement551() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement41() (interface{}, error) { +func (p *parser) callonListContinuationElement551() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement41(stack["name"], stack["start"]) + return p.cur.onListContinuationElement551() } -func (c *current) onDoubleQuoteMonospaceTextElement67() (interface{}, error) { +func (c *current) onListContinuationElement557() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement67() (interface{}, error) { +func (p *parser) callonListContinuationElement557() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement67() + return p.cur.onListContinuationElement557() } -func (c *current) onDoubleQuoteMonospaceTextElement79() (interface{}, error) { +func (c *current) onListContinuationElement560() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement79() (interface{}, error) { +func (p *parser) callonListContinuationElement560() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement79() + return p.cur.onListContinuationElement560() } -func (c *current) onDoubleQuoteMonospaceTextElement81() (interface{}, error) { +func (c *current) onListContinuationElement548(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement81() (interface{}, error) { +func (p *parser) callonListContinuationElement548() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement81() -} - -func (c *current) onDoubleQuoteMonospaceTextElement74(start interface{}) (interface{}, error) { - return start, nil - + return p.cur.onListContinuationElement548(stack["delimiter"]) } -func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement74(stack["start"]) -} +func (c *current) onListContinuationElement567(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) -func (c *current) onDoubleQuoteMonospaceTextElement63(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement63() (interface{}, error) { +func (p *parser) callonListContinuationElement567() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement63(stack["name"], stack["start"]) + return p.cur.onListContinuationElement567(stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement89() (interface{}, error) { +func (c *current) onListContinuationElement579() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement89() (interface{}, error) { +func (p *parser) callonListContinuationElement579() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement89() + return p.cur.onListContinuationElement579() } -func (c *current) onDoubleQuoteMonospaceTextElement85(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement585() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement85() (interface{}, error) { +func (p *parser) callonListContinuationElement585() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement85(stack["name"]) + return p.cur.onListContinuationElement585() } -func (c *current) onDoubleQuoteMonospaceTextElement99() (interface{}, error) { +func (c *current) onListContinuationElement588() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement99() (interface{}, error) { +func (p *parser) callonListContinuationElement588() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement99() + return p.cur.onListContinuationElement588() } -func (c *current) onDoubleQuoteMonospaceTextElement95(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement576(delimiter interface{}) (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement95() (interface{}, error) { +func (p *parser) callonListContinuationElement576() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement95(stack["name"]) + return p.cur.onListContinuationElement576(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement36(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement595(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { +func (p *parser) callonListContinuationElement595() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement36(stack["element"]) + return p.cur.onListContinuationElement595(stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement108() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onListContinuationElement604() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement108() (bool, error) { +func (p *parser) callonListContinuationElement604() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement108() + return p.cur.onListContinuationElement604() } -func (c *current) onDoubleQuoteMonospaceTextElement115() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onListContinuationElement608() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement115() (interface{}, error) { +func (p *parser) callonListContinuationElement608() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement115() + return p.cur.onListContinuationElement608() } -func (c *current) onDoubleQuoteMonospaceTextElement117() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement599(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement117() (interface{}, error) { +func (p *parser) callonListContinuationElement599() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement117() + return p.cur.onListContinuationElement599(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement119() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListContinuationElement570(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement119() (interface{}, error) { +func (p *parser) callonListContinuationElement570() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement119() + return p.cur.onListContinuationElement570(stack["line"]) } -func (c *current) onDoubleQuoteMonospaceTextElement121() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement623() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement121() (interface{}, error) { +func (p *parser) callonListContinuationElement623() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement121() + return p.cur.onListContinuationElement623() } -func (c *current) onDoubleQuoteMonospaceTextElement123() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement629() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement123() (interface{}, error) { +func (p *parser) callonListContinuationElement629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement123() + return p.cur.onListContinuationElement629() } -func (c *current) onDoubleQuoteMonospaceTextElement125() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onListContinuationElement632() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement125() (interface{}, error) { +func (p *parser) callonListContinuationElement632() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement125() + return p.cur.onListContinuationElement632() } -func (c *current) onDoubleQuoteMonospaceTextElement127() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onListContinuationElement620(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement127() (interface{}, error) { +func (p *parser) callonListContinuationElement620() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement127() + return p.cur.onListContinuationElement620(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement129() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement639(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement129() (interface{}, error) { +func (p *parser) callonListContinuationElement639() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement129() + return p.cur.onListContinuationElement639(stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement131() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onListContinuationElement545(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceTextElement131() (interface{}, error) { +func (p *parser) callonListContinuationElement545() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement131() + return p.cur.onListContinuationElement545(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement136() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement648() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement136() (bool, error) { +func (p *parser) callonListContinuationElement648() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement136() + return p.cur.onListContinuationElement648() } -func (c *current) onDoubleQuoteMonospaceTextElement138() (interface{}, error) { +func (c *current) onListContinuationElement654() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement138() (interface{}, error) { +func (p *parser) callonListContinuationElement654() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement138() + return p.cur.onListContinuationElement654() } -func (c *current) onDoubleQuoteMonospaceTextElement142() (interface{}, error) { +func (c *current) onListContinuationElement657() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement142() (interface{}, error) { +func (p *parser) callonListContinuationElement657() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement142() + return p.cur.onListContinuationElement657() } -func (c *current) onDoubleQuoteMonospaceTextElement133() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListContinuationElement645(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement133() (interface{}, error) { +func (p *parser) callonListContinuationElement645() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement133() + return p.cur.onListContinuationElement645(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement152() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement664(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement152() (bool, error) { +func (p *parser) callonListContinuationElement664() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement152() + return p.cur.onListContinuationElement664(stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement156() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement676() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement156() (interface{}, error) { +func (p *parser) callonListContinuationElement676() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement156() + return p.cur.onListContinuationElement676() } -func (c *current) onDoubleQuoteMonospaceTextElement149() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListContinuationElement682() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement149() (interface{}, error) { +func (p *parser) callonListContinuationElement682() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement149() + return p.cur.onListContinuationElement682() } -func (c *current) onDoubleQuoteMonospaceTextElement163() (interface{}, error) { - return types.NewSymbol("<-") - +func (c *current) onListContinuationElement685() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement163() (interface{}, error) { +func (p *parser) callonListContinuationElement685() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement163() + return p.cur.onListContinuationElement685() } -func (c *current) onDoubleQuoteMonospaceTextElement165() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement673(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement165() (interface{}, error) { +func (p *parser) callonListContinuationElement673() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement165() + return p.cur.onListContinuationElement673(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement167() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListContinuationElement692(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement167() (interface{}, error) { +func (p *parser) callonListContinuationElement692() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement167() + return p.cur.onListContinuationElement692(stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement111() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onListContinuationElement701() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement111() (interface{}, error) { +func (p *parser) callonListContinuationElement701() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement111() + return p.cur.onListContinuationElement701() } -func (c *current) onDoubleQuoteMonospaceTextElement169() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onListContinuationElement705() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement169() (interface{}, error) { +func (p *parser) callonListContinuationElement705() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement169() + return p.cur.onListContinuationElement705() } -func (c *current) onDoubleQuoteMonospaceTextElement171() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement696(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement171() (interface{}, error) { +func (p *parser) callonListContinuationElement696() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement171() + return p.cur.onListContinuationElement696(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement173() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListContinuationElement667(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement173() (interface{}, error) { +func (p *parser) callonListContinuationElement667() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement173() + return p.cur.onListContinuationElement667(stack["line"]) } -func (c *current) onDoubleQuoteMonospaceTextElement175() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement720() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement175() (interface{}, error) { +func (p *parser) callonListContinuationElement720() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement175() + return p.cur.onListContinuationElement720() } -func (c *current) onDoubleQuoteMonospaceTextElement177() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement726() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement177() (interface{}, error) { +func (p *parser) callonListContinuationElement726() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement177() + return p.cur.onListContinuationElement726() } -func (c *current) onDoubleQuoteMonospaceTextElement179() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onListContinuationElement729() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListContinuationElement729() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement729() +} + +func (c *current) onListContinuationElement717(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement179() (interface{}, error) { +func (p *parser) callonListContinuationElement717() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement179() + return p.cur.onListContinuationElement717(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement181() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onListContinuationElement736(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement181() (interface{}, error) { +func (p *parser) callonListContinuationElement736() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement181() + return p.cur.onListContinuationElement736(stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement183() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement642(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceTextElement183() (interface{}, error) { +func (p *parser) callonListContinuationElement642() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement183() + return p.cur.onListContinuationElement642(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement188() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement745() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement188() (bool, error) { +func (p *parser) callonListContinuationElement745() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement188() + return p.cur.onListContinuationElement745() } -func (c *current) onDoubleQuoteMonospaceTextElement190() (interface{}, error) { +func (c *current) onListContinuationElement751() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement190() (interface{}, error) { +func (p *parser) callonListContinuationElement751() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement190() + return p.cur.onListContinuationElement751() } -func (c *current) onDoubleQuoteMonospaceTextElement194() (interface{}, error) { +func (c *current) onListContinuationElement754() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement194() (interface{}, error) { +func (p *parser) callonListContinuationElement754() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement194() + return p.cur.onListContinuationElement754() } -func (c *current) onDoubleQuoteMonospaceTextElement185() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListContinuationElement742(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement185() (interface{}, error) { +func (p *parser) callonListContinuationElement742() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement185() + return p.cur.onListContinuationElement742(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement204() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement761(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement204() (bool, error) { +func (p *parser) callonListContinuationElement761() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement204() + return p.cur.onListContinuationElement761(stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement208() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement773() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMonospaceTextElement208() (interface{}, error) { +func (p *parser) callonListContinuationElement773() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement208() + return p.cur.onListContinuationElement773() } -func (c *current) onDoubleQuoteMonospaceTextElement201() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListContinuationElement779() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement201() (interface{}, error) { +func (p *parser) callonListContinuationElement779() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement201() + return p.cur.onListContinuationElement779() } -func (c *current) onDoubleQuoteMonospaceTextElement215() (interface{}, error) { - return types.NewSymbol("->") - +func (c *current) onListContinuationElement782() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement215() (interface{}, error) { +func (p *parser) callonListContinuationElement782() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement215() + return p.cur.onListContinuationElement782() } -func (c *current) onDoubleQuoteMonospaceTextElement217() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListContinuationElement770(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement217() (interface{}, error) { +func (p *parser) callonListContinuationElement770() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement217() + return p.cur.onListContinuationElement770(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement219() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement789(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement219() (interface{}, error) { +func (p *parser) callonListContinuationElement789() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement219() + return p.cur.onListContinuationElement789(stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement221() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListContinuationElement798() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement221() (interface{}, error) { +func (p *parser) callonListContinuationElement798() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement221() + return p.cur.onListContinuationElement798() } -func (c *current) onDoubleQuoteMonospaceTextElement223() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char - +func (c *current) onListContinuationElement802() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement223() (interface{}, error) { +func (p *parser) callonListContinuationElement802() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement223() + return p.cur.onListContinuationElement802() } -func (c *current) onDoubleQuoteMonospaceTextElement230() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement793(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement230() (bool, error) { +func (p *parser) callonListContinuationElement793() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement230() + return p.cur.onListContinuationElement793(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement228() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onListContinuationElement764(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement228() (interface{}, error) { +func (p *parser) callonListContinuationElement764() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement228() + return p.cur.onListContinuationElement764(stack["line"]) } -func (c *current) onDoubleQuoteMonospaceTextElement106(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement817() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement106() (interface{}, error) { +func (p *parser) callonListContinuationElement817() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement106(stack["element"]) + return p.cur.onListContinuationElement817() } -func (c *current) onDoubleQuoteMonospaceTextElement236() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onListContinuationElement823() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement236() (bool, error) { +func (p *parser) callonListContinuationElement823() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement236() + return p.cur.onListContinuationElement823() } -func (c *current) onDoubleQuoteMonospaceTextElement245() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement826() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement245() (interface{}, error) { +func (p *parser) callonListContinuationElement826() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement245() + return p.cur.onListContinuationElement826() } -func (c *current) onDoubleQuoteMonospaceTextElement249() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement814(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement249() (interface{}, error) { +func (p *parser) callonListContinuationElement814() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement249() + return p.cur.onListContinuationElement814(stack["delimiter"]) } -func (c *current) onDoubleQuoteMonospaceTextElement255() (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) onListContinuationElement833(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDoubleQuoteMonospaceTextElement255() (interface{}, error) { +func (p *parser) callonListContinuationElement833() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement255() + return p.cur.onListContinuationElement833(stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement264() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement739(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceTextElement264() (interface{}, error) { +func (p *parser) callonListContinuationElement739() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement264() + return p.cur.onListContinuationElement739(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDoubleQuoteMonospaceTextElement260(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement847() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement260() (interface{}, error) { +func (p *parser) callonListContinuationElement847() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement260(stack["name"]) + return p.cur.onListContinuationElement847() } -func (c *current) onDoubleQuoteMonospaceTextElement274() (interface{}, error) { +func (c *current) onListContinuationElement850() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMonospaceTextElement274() (interface{}, error) { +func (p *parser) callonListContinuationElement850() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement274() + return p.cur.onListContinuationElement850() } -func (c *current) onDoubleQuoteMonospaceTextElement270(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onListContinuationElement842() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMonospaceTextElement270() (interface{}, error) { +func (p *parser) callonListContinuationElement842() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement270(stack["name"]) + return p.cur.onListContinuationElement842() } -func (c *current) onDoubleQuoteMonospaceTextElement280() (interface{}, error) { +func (c *current) onListContinuationElement859() (interface{}, error) { - return types.NewStringElement(string(c.text)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement280() (interface{}, error) { +func (p *parser) callonListContinuationElement859() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement280() + return p.cur.onListContinuationElement859() } -func (c *current) onDoubleQuoteMonospaceTextElement241(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onListContinuationElement863() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement241() (interface{}, error) { +func (p *parser) callonListContinuationElement863() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement241(stack["id"], stack["label"]) + return p.cur.onListContinuationElement863() } -func (c *current) onDoubleQuoteMonospaceTextElement287() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onListContinuationElement839(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement287() (interface{}, error) { +func (p *parser) callonListContinuationElement839() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement287() + return p.cur.onListContinuationElement839(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement283(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onListContinuationElement881() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement283() (interface{}, error) { +func (p *parser) callonListContinuationElement881() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement283(stack["id"]) + return p.cur.onListContinuationElement881() } -func (c *current) onDoubleQuoteMonospaceTextElement239() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onListContinuationElement884() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement239() (interface{}, error) { +func (p *parser) callonListContinuationElement884() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement239() + return p.cur.onListContinuationElement884() } -func (c *current) onDoubleQuoteMonospaceTextElement291() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListContinuationElement876() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMonospaceTextElement291() (interface{}, error) { +func (p *parser) callonListContinuationElement876() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement291() + return p.cur.onListContinuationElement876() } -func (c *current) onDoubleQuoteMonospaceTextElement234(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement893() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement234() (interface{}, error) { +func (p *parser) callonListContinuationElement893() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement234(stack["element"]) + return p.cur.onListContinuationElement893() } -func (c *current) onDoubleQuoteMonospaceTextElement298() (interface{}, error) { +func (c *current) onListContinuationElement897() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement298() (interface{}, error) { +func (p *parser) callonListContinuationElement897() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement298() + return p.cur.onListContinuationElement897() } -func (c *current) onDoubleQuoteMonospaceTextElement294(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListContinuationElement873(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonDoubleQuoteMonospaceTextElement294() (interface{}, error) { +func (p *parser) callonListContinuationElement873() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement294(stack["ref"]) + return p.cur.onListContinuationElement873(stack["content"]) } -func (c *current) onDoubleQuoteMonospaceTextElement302() (interface{}, error) { +func (c *current) onListContinuationElement907() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement302() (interface{}, error) { +func (p *parser) callonListContinuationElement907() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement302() + return p.cur.onListContinuationElement907() } -func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil +func (c *current) onListContinuationElement910(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { +func (p *parser) callonListContinuationElement910() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) + return p.cur.onListContinuationElement910(stack["content"]) } -func (c *current) onSingleQuoteMonospaceText4() (bool, error) { - log.Debug("SingleQuoteMonospaceTextStartDelimiter") - return c.isSingleQuotedTextAllowed(), nil - +func (c *current) onListContinuationElement912() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceText4() (bool, error) { +func (p *parser) callonListContinuationElement912() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText4() + return p.cur.onListContinuationElement912() } -func (c *current) onSingleQuoteMonospaceText12() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListContinuationElement904(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceText12() (interface{}, error) { +func (p *parser) callonListContinuationElement904() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText12() + return p.cur.onListContinuationElement904(stack["content"]) } -func (c *current) onSingleQuoteMonospaceText14() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement836(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonSingleQuoteMonospaceText14() (interface{}, error) { +func (p *parser) callonListContinuationElement836() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText14() + return p.cur.onListContinuationElement836(stack["firstLine"], stack["otherLines"]) } -func (c *current) onSingleQuoteMonospaceText16() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListContinuationElement925() (interface{}, error) { + // sequence of exactly "--" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceText16() (interface{}, error) { +func (p *parser) callonListContinuationElement925() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText16() + return p.cur.onListContinuationElement925() } -func (c *current) onSingleQuoteMonospaceText18() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement928() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceText18() (interface{}, error) { +func (p *parser) callonListContinuationElement928() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText18() + return p.cur.onListContinuationElement928() } -func (c *current) onSingleQuoteMonospaceText21(elements interface{}) (bool, error) { - log.Debug("SingleQuoteMonospaceTextEndDelimiter") - return !c.isPrecededBySpace(), nil - +func (c *current) onListContinuationElement931() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceText21() (bool, error) { +func (p *parser) callonListContinuationElement931() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText21(stack["elements"]) + return p.cur.onListContinuationElement931() } -func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { +func (c *current) onListContinuationElement922(delimiter interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonListContinuationElement922() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) + return p.cur.onListContinuationElement922(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElements4() (interface{}, error) { +func (c *current) onListContinuationElement947() (interface{}, error) { + // sequence of exactly "--" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElements4() (interface{}, error) { +func (p *parser) callonListContinuationElement947() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements4() + return p.cur.onListContinuationElement947() } -func (c *current) onSingleQuoteMonospaceTextElements9(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onListContinuationElement950() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElements9() (bool, error) { +func (p *parser) callonListContinuationElement950() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements9(stack["elements"]) + return p.cur.onListContinuationElement950() } -func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { - return elements, nil - +func (c *current) onListContinuationElement953() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { +func (p *parser) callonListContinuationElement953() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) + return p.cur.onListContinuationElement953() } -func (c *current) onSingleQuoteMonospaceTextElement10() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListContinuationElement944(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement10() (interface{}, error) { +func (p *parser) callonListContinuationElement944() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement10() + return p.cur.onListContinuationElement944(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement12() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement968() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement12() (interface{}, error) { +func (p *parser) callonListContinuationElement968() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement12() + return p.cur.onListContinuationElement968() } -func (c *current) onSingleQuoteMonospaceTextElement14() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onListContinuationElement972() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement14() (interface{}, error) { +func (p *parser) callonListContinuationElement972() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement14() + return p.cur.onListContinuationElement972() } -func (c *current) onSingleQuoteMonospaceTextElement16() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement963(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement16() (interface{}, error) { +func (p *parser) callonListContinuationElement963() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement16() + return p.cur.onListContinuationElement963(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement19() (bool, error) { - log.Debug("SingleQuoteMonospaceTextEndDelimiter") - return !c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement940(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement19() (bool, error) { +func (p *parser) callonListContinuationElement940() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement19() + return p.cur.onListContinuationElement940(stack["line"]) } -func (c *current) onSingleQuoteMonospaceTextElement32() (interface{}, error) { +func (c *current) onListContinuationElement985() (interface{}, error) { + // sequence of exactly "--" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement32() (interface{}, error) { +func (p *parser) callonListContinuationElement985() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement32() -} - -func (c *current) onSingleQuoteMonospaceTextElement25() (interface{}, error) { - return types.NewStringElement(string(c.text)) - + return p.cur.onListContinuationElement985() } -func (p *parser) callonSingleQuoteMonospaceTextElement25() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMonospaceTextElement25() -} +func (c *current) onListContinuationElement988() (interface{}, error) { -func (c *current) onSingleQuoteMonospaceTextElement35() (interface{}, error) { - // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { +func (p *parser) callonListContinuationElement988() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement35() + return p.cur.onListContinuationElement988() } -func (c *current) onSingleQuoteMonospaceTextElement40() (interface{}, error) { +func (c *current) onListContinuationElement991() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { +func (p *parser) callonListContinuationElement991() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement40() + return p.cur.onListContinuationElement991() } -func (c *current) onSingleQuoteMonospaceTextElement46() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement982(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonSingleQuoteMonospaceTextElement46() (interface{}, error) { +func (p *parser) callonListContinuationElement982() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement46() + return p.cur.onListContinuationElement982(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement38() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement919(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Open, content.([]interface{})) + } -func (p *parser) callonSingleQuoteMonospaceTextElement38() (interface{}, error) { +func (p *parser) callonListContinuationElement919() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement38() + return p.cur.onListContinuationElement919(stack["start"], stack["content"], stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement53() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onListContinuationElement1006() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement53() (bool, error) { +func (p *parser) callonListContinuationElement1006() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement53() + return p.cur.onListContinuationElement1006() } -func (c *current) onSingleQuoteMonospaceTextElement60() (interface{}, error) { +func (c *current) onListContinuationElement1012() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement60() (interface{}, error) { +func (p *parser) callonListContinuationElement1012() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement60() + return p.cur.onListContinuationElement1012() } -func (c *current) onSingleQuoteMonospaceTextElement72() (interface{}, error) { +func (c *current) onListContinuationElement1015() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement72() (interface{}, error) { +func (p *parser) callonListContinuationElement1015() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement72() + return p.cur.onListContinuationElement1015() } -func (c *current) onSingleQuoteMonospaceTextElement74() (interface{}, error) { +func (c *current) onListContinuationElement1003(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement74() (interface{}, error) { +func (p *parser) callonListContinuationElement1003() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement74() + return p.cur.onListContinuationElement1003(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement67(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListContinuationElement1022(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement67() (interface{}, error) { +func (p *parser) callonListContinuationElement1022() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement67(stack["start"]) + return p.cur.onListContinuationElement1022(stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement56(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListContinuationElement1034() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + } -func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { +func (p *parser) callonListContinuationElement1034() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement56(stack["name"], stack["start"]) + return p.cur.onListContinuationElement1034() } -func (c *current) onSingleQuoteMonospaceTextElement82() (interface{}, error) { +func (c *current) onListContinuationElement1040() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement82() (interface{}, error) { +func (p *parser) callonListContinuationElement1040() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement82() + return p.cur.onListContinuationElement1040() } -func (c *current) onSingleQuoteMonospaceTextElement94() (interface{}, error) { +func (c *current) onListContinuationElement1043() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { +func (p *parser) callonListContinuationElement1043() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement94() + return p.cur.onListContinuationElement1043() } -func (c *current) onSingleQuoteMonospaceTextElement96() (interface{}, error) { +func (c *current) onListContinuationElement1031(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement96() (interface{}, error) { +func (p *parser) callonListContinuationElement1031() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement96() + return p.cur.onListContinuationElement1031(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement89(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListContinuationElement1050(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement89() (interface{}, error) { +func (p *parser) callonListContinuationElement1050() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement89(stack["start"]) + return p.cur.onListContinuationElement1050(stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement78(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListContinuationElement1059() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { +func (p *parser) callonListContinuationElement1059() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement78(stack["name"], stack["start"]) + return p.cur.onListContinuationElement1059() } -func (c *current) onSingleQuoteMonospaceTextElement104() (interface{}, error) { +func (c *current) onListContinuationElement1063() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement104() (interface{}, error) { +func (p *parser) callonListContinuationElement1063() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement104() + return p.cur.onListContinuationElement1063() } -func (c *current) onSingleQuoteMonospaceTextElement100(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1054(content interface{}) (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement100() (interface{}, error) { +func (p *parser) callonListContinuationElement1054() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement100(stack["name"]) + return p.cur.onListContinuationElement1054(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement114() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1025(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement114() (interface{}, error) { +func (p *parser) callonListContinuationElement1025() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement114() + return p.cur.onListContinuationElement1025(stack["line"]) } -func (c *current) onSingleQuoteMonospaceTextElement110(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onListContinuationElement1078() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement110() (interface{}, error) { +func (p *parser) callonListContinuationElement1078() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement110(stack["name"]) + return p.cur.onListContinuationElement1078() } -func (c *current) onSingleQuoteMonospaceTextElement51(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement1084() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { +func (p *parser) callonListContinuationElement1084() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement51(stack["element"]) + return p.cur.onListContinuationElement1084() } -func (c *current) onSingleQuoteMonospaceTextElement123() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil - +func (c *current) onListContinuationElement1087() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement123() (bool, error) { +func (p *parser) callonListContinuationElement1087() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement123() + return p.cur.onListContinuationElement1087() } -func (c *current) onSingleQuoteMonospaceTextElement130() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListContinuationElement1075(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement130() (interface{}, error) { +func (p *parser) callonListContinuationElement1075() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement130() + return p.cur.onListContinuationElement1075(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement132() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement1094(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement132() (interface{}, error) { +func (p *parser) callonListContinuationElement1094() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement132() + return p.cur.onListContinuationElement1094(stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement134() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListContinuationElement1000(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) } -func (p *parser) callonSingleQuoteMonospaceTextElement134() (interface{}, error) { +func (p *parser) callonListContinuationElement1000() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement134() + return p.cur.onListContinuationElement1000(stack["start"], stack["content"], stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement136() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement1103() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement136() (interface{}, error) { +func (p *parser) callonListContinuationElement1103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement136() + return p.cur.onListContinuationElement1103() } -func (c *current) onSingleQuoteMonospaceTextElement138() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement1109() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement138() (interface{}, error) { +func (p *parser) callonListContinuationElement1109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement138() + return p.cur.onListContinuationElement1109() } -func (c *current) onSingleQuoteMonospaceTextElement140() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onListContinuationElement1112() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement140() (interface{}, error) { +func (p *parser) callonListContinuationElement1112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement140() + return p.cur.onListContinuationElement1112() } -func (c *current) onSingleQuoteMonospaceTextElement142() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onListContinuationElement1100(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement142() (interface{}, error) { +func (p *parser) callonListContinuationElement1100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement142() + return p.cur.onListContinuationElement1100(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement144() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement1119(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement144() (interface{}, error) { +func (p *parser) callonListContinuationElement1119() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement144() + return p.cur.onListContinuationElement1119(stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement146() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onListContinuationElement1131() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement146() (interface{}, error) { +func (p *parser) callonListContinuationElement1131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement146() + return p.cur.onListContinuationElement1131() } -func (c *current) onSingleQuoteMonospaceTextElement151() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement1137() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement151() (bool, error) { +func (p *parser) callonListContinuationElement1137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement151() + return p.cur.onListContinuationElement1137() } -func (c *current) onSingleQuoteMonospaceTextElement153() (interface{}, error) { +func (c *current) onListContinuationElement1140() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement153() (interface{}, error) { +func (p *parser) callonListContinuationElement1140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement153() + return p.cur.onListContinuationElement1140() } -func (c *current) onSingleQuoteMonospaceTextElement157() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1128(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonSingleQuoteMonospaceTextElement157() (interface{}, error) { +func (p *parser) callonListContinuationElement1128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement157() + return p.cur.onListContinuationElement1128(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement148() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListContinuationElement1147(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement148() (interface{}, error) { +func (p *parser) callonListContinuationElement1147() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement148() + return p.cur.onListContinuationElement1147(stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement167() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement1156() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement167() (bool, error) { +func (p *parser) callonListContinuationElement1156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement167() + return p.cur.onListContinuationElement1156() } -func (c *current) onSingleQuoteMonospaceTextElement171() (interface{}, error) { +func (c *current) onListContinuationElement1160() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement171() (interface{}, error) { +func (p *parser) callonListContinuationElement1160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement171() + return p.cur.onListContinuationElement1160() } -func (c *current) onSingleQuoteMonospaceTextElement164() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListContinuationElement1151(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement164() (interface{}, error) { +func (p *parser) callonListContinuationElement1151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement164() + return p.cur.onListContinuationElement1151(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement178() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListContinuationElement1122(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement178() (interface{}, error) { +func (p *parser) callonListContinuationElement1122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement178() + return p.cur.onListContinuationElement1122(stack["line"]) } -func (c *current) onSingleQuoteMonospaceTextElement180() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement1175() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement180() (interface{}, error) { +func (p *parser) callonListContinuationElement1175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement180() + return p.cur.onListContinuationElement1175() } -func (c *current) onSingleQuoteMonospaceTextElement182() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListContinuationElement1181() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement182() (interface{}, error) { +func (p *parser) callonListContinuationElement1181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement182() + return p.cur.onListContinuationElement1181() } -func (c *current) onSingleQuoteMonospaceTextElement126() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onListContinuationElement1184() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement126() (interface{}, error) { +func (p *parser) callonListContinuationElement1184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement126() + return p.cur.onListContinuationElement1184() } -func (c *current) onSingleQuoteMonospaceTextElement184() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListContinuationElement1172(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement184() (interface{}, error) { +func (p *parser) callonListContinuationElement1172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement184() + return p.cur.onListContinuationElement1172(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement186() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement1191(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement186() (interface{}, error) { +func (p *parser) callonListContinuationElement1191() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement186() + return p.cur.onListContinuationElement1191(stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement188() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListContinuationElement1097(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonSingleQuoteMonospaceTextElement188() (interface{}, error) { +func (p *parser) callonListContinuationElement1097() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement188() + return p.cur.onListContinuationElement1097(stack["start"], stack["content"], stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement190() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement1200() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement190() (interface{}, error) { +func (p *parser) callonListContinuationElement1200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement190() + return p.cur.onListContinuationElement1200() } -func (c *current) onSingleQuoteMonospaceTextElement192() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement1206() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement192() (interface{}, error) { +func (p *parser) callonListContinuationElement1206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement192() + return p.cur.onListContinuationElement1206() } -func (c *current) onSingleQuoteMonospaceTextElement194() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onListContinuationElement1209() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement194() (interface{}, error) { +func (p *parser) callonListContinuationElement1209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement194() + return p.cur.onListContinuationElement1209() } -func (c *current) onSingleQuoteMonospaceTextElement196() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onListContinuationElement1197(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement196() (interface{}, error) { +func (p *parser) callonListContinuationElement1197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement196() + return p.cur.onListContinuationElement1197(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement198() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement1216(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement198() (interface{}, error) { +func (p *parser) callonListContinuationElement1216() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement198() + return p.cur.onListContinuationElement1216(stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement203() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement1228() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement203() (bool, error) { +func (p *parser) callonListContinuationElement1228() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement203() + return p.cur.onListContinuationElement1228() } -func (c *current) onSingleQuoteMonospaceTextElement205() (interface{}, error) { +func (c *current) onListContinuationElement1234() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement205() (interface{}, error) { +func (p *parser) callonListContinuationElement1234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement205() + return p.cur.onListContinuationElement1234() } -func (c *current) onSingleQuoteMonospaceTextElement209() (interface{}, error) { +func (c *current) onListContinuationElement1237() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement209() (interface{}, error) { +func (p *parser) callonListContinuationElement1237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement209() + return p.cur.onListContinuationElement1237() } -func (c *current) onSingleQuoteMonospaceTextElement200() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListContinuationElement1225(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement200() (interface{}, error) { +func (p *parser) callonListContinuationElement1225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement200() + return p.cur.onListContinuationElement1225(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement219() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement1244(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement219() (bool, error) { +func (p *parser) callonListContinuationElement1244() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement219() + return p.cur.onListContinuationElement1244(stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement223() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1253() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuoteMonospaceTextElement223() (interface{}, error) { +func (p *parser) callonListContinuationElement1253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement223() + return p.cur.onListContinuationElement1253() } -func (c *current) onSingleQuoteMonospaceTextElement216() (interface{}, error) { - return types.NewSymbol("--") - +func (c *current) onListContinuationElement1257() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement216() (interface{}, error) { +func (p *parser) callonListContinuationElement1257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement216() + return p.cur.onListContinuationElement1257() } -func (c *current) onSingleQuoteMonospaceTextElement230() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onListContinuationElement1248(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement230() (interface{}, error) { +func (p *parser) callonListContinuationElement1248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement230() + return p.cur.onListContinuationElement1248(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement232() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListContinuationElement1219(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement232() (interface{}, error) { +func (p *parser) callonListContinuationElement1219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement232() + return p.cur.onListContinuationElement1219(stack["line"]) } -func (c *current) onSingleQuoteMonospaceTextElement234() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement1272() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement234() (interface{}, error) { +func (p *parser) callonListContinuationElement1272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement234() + return p.cur.onListContinuationElement1272() } -func (c *current) onSingleQuoteMonospaceTextElement236() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListContinuationElement1278() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement236() (interface{}, error) { +func (p *parser) callonListContinuationElement1278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement236() + return p.cur.onListContinuationElement1278() } -func (c *current) onSingleQuoteMonospaceTextElement238() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char - +func (c *current) onListContinuationElement1281() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement238() (interface{}, error) { +func (p *parser) callonListContinuationElement1281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement238() + return p.cur.onListContinuationElement1281() } -func (c *current) onSingleQuoteMonospaceTextElement245() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement1269(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement245() (bool, error) { +func (p *parser) callonListContinuationElement1269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement245() + return p.cur.onListContinuationElement1269(stack["delimiter"]) } -func (c *current) onSingleQuoteMonospaceTextElement243() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onListContinuationElement1288(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonSingleQuoteMonospaceTextElement243() (interface{}, error) { +func (p *parser) callonListContinuationElement1288() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement243() + return p.cur.onListContinuationElement1288(stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement121(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement1194(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) } -func (p *parser) callonSingleQuoteMonospaceTextElement121() (interface{}, error) { +func (p *parser) callonListContinuationElement1194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement121(stack["element"]) + return p.cur.onListContinuationElement1194(stack["start"], stack["content"], stack["end"]) } -func (c *current) onSingleQuoteMonospaceTextElement251() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onListContinuationElement1302() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement251() (bool, error) { +func (p *parser) callonListContinuationElement1302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement251() + return p.cur.onListContinuationElement1302() } -func (c *current) onSingleQuoteMonospaceTextElement260() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement1305() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement260() (interface{}, error) { +func (p *parser) callonListContinuationElement1305() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement260() + return p.cur.onListContinuationElement1305() } -func (c *current) onSingleQuoteMonospaceTextElement264() (interface{}, error) { +func (c *current) onListContinuationElement1313() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement264() (interface{}, error) { +func (p *parser) callonListContinuationElement1313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement264() + return p.cur.onListContinuationElement1313() } -func (c *current) onSingleQuoteMonospaceTextElement270() (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) onListContinuationElement1291() (interface{}, error) { + + return types.NewThematicBreak() } -func (p *parser) callonSingleQuoteMonospaceTextElement270() (interface{}, error) { +func (p *parser) callonListContinuationElement1291() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement270() + return p.cur.onListContinuationElement1291() } -func (c *current) onSingleQuoteMonospaceTextElement279() (interface{}, error) { +func (c *current) onListContinuationElement1325() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement279() (interface{}, error) { +func (p *parser) callonListContinuationElement1325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement279() + return p.cur.onListContinuationElement1325() } -func (c *current) onSingleQuoteMonospaceTextElement275(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) onListContinuationElement1328() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement275() (interface{}, error) { +func (p *parser) callonListContinuationElement1328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement275(stack["name"]) + return p.cur.onListContinuationElement1328() } -func (c *current) onSingleQuoteMonospaceTextElement289() (interface{}, error) { +func (c *current) onListContinuationElement1343() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement289() (interface{}, error) { +func (p *parser) callonListContinuationElement1343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement289() + return p.cur.onListContinuationElement1343() } -func (c *current) onSingleQuoteMonospaceTextElement285(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) - +func (c *current) onListContinuationElement1346() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement285() (interface{}, error) { +func (p *parser) callonListContinuationElement1346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement285(stack["name"]) + return p.cur.onListContinuationElement1346() } -func (c *current) onSingleQuoteMonospaceTextElement295() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement1338() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteMonospaceTextElement295() (interface{}, error) { +func (p *parser) callonListContinuationElement1338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement295() + return p.cur.onListContinuationElement1338() } -func (c *current) onSingleQuoteMonospaceTextElement256(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onListContinuationElement1360() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement256() (interface{}, error) { +func (p *parser) callonListContinuationElement1360() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement256(stack["id"], stack["label"]) + return p.cur.onListContinuationElement1360() } -func (c *current) onSingleQuoteMonospaceTextElement302() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement1363() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMonospaceTextElement302() (interface{}, error) { +func (p *parser) callonListContinuationElement1363() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement302() + return p.cur.onListContinuationElement1363() } -func (c *current) onSingleQuoteMonospaceTextElement298(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onListContinuationElement1385() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement298() (interface{}, error) { +func (p *parser) callonListContinuationElement1385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement298(stack["id"]) + return p.cur.onListContinuationElement1385() } -func (c *current) onSingleQuoteMonospaceTextElement254() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement1390() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement254() (interface{}, error) { +func (p *parser) callonListContinuationElement1390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement254() + return p.cur.onListContinuationElement1390() } -func (c *current) onSingleQuoteMonospaceTextElement306() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListContinuationElement1388(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement306() (interface{}, error) { +func (p *parser) callonListContinuationElement1388() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement306() + return p.cur.onListContinuationElement1388(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement249(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement1381(content interface{}) (interface{}, error) { + return types.NewInlineTableCell(content.(types.RawLine)) } -func (p *parser) callonSingleQuoteMonospaceTextElement249() (interface{}, error) { +func (p *parser) callonListContinuationElement1381() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement249(stack["element"]) + return p.cur.onListContinuationElement1381(stack["content"]) } -func (c *current) onSingleQuoteMonospaceTextElement313() (interface{}, error) { +func (c *current) onListContinuationElement1394() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement313() (interface{}, error) { +func (p *parser) callonListContinuationElement1394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement313() + return p.cur.onListContinuationElement1394() } -func (c *current) onSingleQuoteMonospaceTextElement309(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onListContinuationElement1377(cells interface{}) (interface{}, error) { + + return cells, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement309() (interface{}, error) { +func (p *parser) callonListContinuationElement1377() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement309(stack["ref"]) + return p.cur.onListContinuationElement1377(stack["cells"]) } -func (c *current) onSingleQuoteMonospaceTextElement317() (interface{}, error) { +func (c *current) onListContinuationElement1411() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement317() (interface{}, error) { +func (p *parser) callonListContinuationElement1411() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement317() + return p.cur.onListContinuationElement1411() } -func (c *current) onSingleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil - +func (c *current) onListContinuationElement1414() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement1() (interface{}, error) { +func (p *parser) callonListContinuationElement1414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement1(stack["element"]) + return p.cur.onListContinuationElement1414() } -func (c *current) onEscapedMonospaceText5() (interface{}, error) { +func (c *current) onListContinuationElement1429() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { +func (p *parser) callonListContinuationElement1429() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText5() + return p.cur.onListContinuationElement1429() } -func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) - +func (c *current) onListContinuationElement1432() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { +func (p *parser) callonListContinuationElement1432() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) + return p.cur.onListContinuationElement1432() } -func (c *current) onEscapedMonospaceText17() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1424() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { +func (p *parser) callonListContinuationElement1424() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText17() + return p.cur.onListContinuationElement1424() } -func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"`"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "`", result) - +func (c *current) onListContinuationElement1441() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { +func (p *parser) callonListContinuationElement1441() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) + return p.cur.onListContinuationElement1441() } -func (c *current) onEscapedMonospaceText27() (interface{}, error) { +func (c *current) onListContinuationElement1446() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { +func (p *parser) callonListContinuationElement1446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText27() + return p.cur.onListContinuationElement1446() } -func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) - +func (c *current) onListContinuationElement1449() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { +func (p *parser) callonListContinuationElement1449() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) + return p.cur.onListContinuationElement1449() } -func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1463() (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonListContinuationElement1463() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) + return p.cur.onListContinuationElement1463() } -func (c *current) onDoubleQuoteMarkedTextElement17() (interface{}, error) { +func (c *current) onListContinuationElement1466() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement17() (interface{}, error) { +func (p *parser) callonListContinuationElement1466() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement17() + return p.cur.onListContinuationElement1466() } -func (c *current) onDoubleQuoteMarkedTextElement10() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement1481() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement10() (interface{}, error) { +func (p *parser) callonListContinuationElement1481() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement10() + return p.cur.onListContinuationElement1481() } -func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement1484() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { +func (p *parser) callonListContinuationElement1484() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement20() + return p.cur.onListContinuationElement1484() } -func (c *current) onDoubleQuoteMarkedTextElement25() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1476() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonDoubleQuoteMarkedTextElement25() (interface{}, error) { +func (p *parser) callonListContinuationElement1476() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement25() + return p.cur.onListContinuationElement1476() } -func (c *current) onDoubleQuoteMarkedTextElement31() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1495() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { +func (p *parser) callonListContinuationElement1495() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement31() + return p.cur.onListContinuationElement1495() } -func (c *current) onDoubleQuoteMarkedTextElement23() (interface{}, error) { +func (c *current) onListContinuationElement1500() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement23() (interface{}, error) { +func (p *parser) callonListContinuationElement1500() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement23() + return p.cur.onListContinuationElement1500() } -func (c *current) onDoubleQuoteMarkedTextElement38() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - +func (c *current) onListContinuationElement1505() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement38() (bool, error) { +func (p *parser) callonListContinuationElement1505() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement38() + return p.cur.onListContinuationElement1505() } -func (c *current) onDoubleQuoteMarkedTextElement45() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1456(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement45() (interface{}, error) { +func (p *parser) callonListContinuationElement1456() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement45() + return p.cur.onListContinuationElement1456(stack["content"]) } -func (c *current) onDoubleQuoteMarkedTextElement57() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1404(format, content interface{}) (interface{}, error) { + return types.NewMultilineTableCell(content.([]interface{}), format) } -func (p *parser) callonDoubleQuoteMarkedTextElement57() (interface{}, error) { +func (p *parser) callonListContinuationElement1404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement57() + return p.cur.onListContinuationElement1404(stack["format"], stack["content"]) } -func (c *current) onDoubleQuoteMarkedTextElement59() (interface{}, error) { - - return strconv.Atoi(string(c.text)) - +func (c *current) onListContinuationElement1401(cells interface{}) (interface{}, error) { + return cells, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement59() (interface{}, error) { +func (p *parser) callonListContinuationElement1401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement59() + return p.cur.onListContinuationElement1401(stack["cells"]) } -func (c *current) onDoubleQuoteMarkedTextElement52(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListContinuationElement1374(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { +func (p *parser) callonListContinuationElement1374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement52(stack["start"]) + return p.cur.onListContinuationElement1374(stack["cells"]) } -func (c *current) onDoubleQuoteMarkedTextElement41(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListContinuationElement1517() (interface{}, error) { + + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement41() (interface{}, error) { +func (p *parser) callonListContinuationElement1517() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement41(stack["name"], stack["start"]) + return p.cur.onListContinuationElement1517() } -func (c *current) onDoubleQuoteMarkedTextElement67() (interface{}, error) { +func (c *current) onListContinuationElement1520() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement67() (interface{}, error) { +func (p *parser) callonListContinuationElement1520() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement67() + return p.cur.onListContinuationElement1520() } -func (c *current) onDoubleQuoteMarkedTextElement79() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1512() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMarkedTextElement79() (interface{}, error) { +func (p *parser) callonListContinuationElement1512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement79() + return p.cur.onListContinuationElement1512() } -func (c *current) onDoubleQuoteMarkedTextElement81() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListContinuationElement1353(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement81() (interface{}, error) { +func (p *parser) callonListContinuationElement1353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement81() + return p.cur.onListContinuationElement1353(stack["content"]) } -func (c *current) onDoubleQuoteMarkedTextElement74(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListContinuationElement1531() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { +func (p *parser) callonListContinuationElement1531() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement74(stack["start"]) + return p.cur.onListContinuationElement1531() } -func (c *current) onDoubleQuoteMarkedTextElement63(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListContinuationElement1534() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement63() (interface{}, error) { +func (p *parser) callonListContinuationElement1534() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement63(stack["name"], stack["start"]) + return p.cur.onListContinuationElement1534() } -func (c *current) onDoubleQuoteMarkedTextElement89() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1321(lines interface{}) (interface{}, error) { + return types.NewTable(lines.([]interface{})) } -func (p *parser) callonDoubleQuoteMarkedTextElement89() (interface{}, error) { +func (p *parser) callonListContinuationElement1321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement89() + return p.cur.onListContinuationElement1321(stack["lines"]) } -func (c *current) onDoubleQuoteMarkedTextElement85(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1549() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement85() (interface{}, error) { +func (p *parser) callonListContinuationElement1549() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement85(stack["name"]) + return p.cur.onListContinuationElement1549() } -func (c *current) onDoubleQuoteMarkedTextElement99() (interface{}, error) { +func (c *current) onListContinuationElement1553() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement99() (interface{}, error) { +func (p *parser) callonListContinuationElement1553() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement99() + return p.cur.onListContinuationElement1553() } -func (c *current) onDoubleQuoteMarkedTextElement95(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onListContinuationElement1543(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement95() (interface{}, error) { +func (p *parser) callonListContinuationElement1543() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement95(stack["name"]) + return p.cur.onListContinuationElement1543(stack["content"]) } -func (c *current) onDoubleQuoteMarkedTextElement36(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement1566() (bool, error) { + return !c.isWithinLiteralParagraph(), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { +func (p *parser) callonListContinuationElement1566() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement36(stack["element"]) + return p.cur.onListContinuationElement1566() } -func (c *current) onDoubleQuoteMarkedTextElement108() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onListContinuationElement1569() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement108() (bool, error) { +func (p *parser) callonListContinuationElement1569() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement108() + return p.cur.onListContinuationElement1569() } -func (c *current) onDoubleQuoteMarkedTextElement115() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListContinuationElement1571() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement115() (interface{}, error) { +func (p *parser) callonListContinuationElement1571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement115() + return p.cur.onListContinuationElement1571() } -func (c *current) onDoubleQuoteMarkedTextElement117() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement1573() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement117() (interface{}, error) { +func (p *parser) callonListContinuationElement1573() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement117() + return p.cur.onListContinuationElement1573() } -func (c *current) onDoubleQuoteMarkedTextElement119() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onListContinuationElement1575() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement119() (interface{}, error) { +func (p *parser) callonListContinuationElement1575() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement119() + return p.cur.onListContinuationElement1575() } -func (c *current) onDoubleQuoteMarkedTextElement121() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement1577() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement121() (interface{}, error) { +func (p *parser) callonListContinuationElement1577() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement121() + return p.cur.onListContinuationElement1577() } -func (c *current) onDoubleQuoteMarkedTextElement123() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement1581() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement123() (interface{}, error) { +func (p *parser) callonListContinuationElement1581() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement123() + return p.cur.onListContinuationElement1581() } -func (c *current) onDoubleQuoteMarkedTextElement125() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onListContinuationElement1579() (interface{}, error) { + // check + return types.LiteralParagraph, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement125() (interface{}, error) { +func (p *parser) callonListContinuationElement1579() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement125() + return p.cur.onListContinuationElement1579() } -func (c *current) onDoubleQuoteMarkedTextElement127() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onListContinuationElement1564(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement127() (interface{}, error) { +func (p *parser) callonListContinuationElement1564() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement127() + return p.cur.onListContinuationElement1564(stack["style"]) } -func (c *current) onDoubleQuoteMarkedTextElement129() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement1593() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement129() (interface{}, error) { +func (p *parser) callonListContinuationElement1593() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement129() + return p.cur.onListContinuationElement1593() } -func (c *current) onDoubleQuoteMarkedTextElement131() (interface{}, error) { - return types.NewSymbol("->") - +func (c *current) onListContinuationElement1596() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement131() (interface{}, error) { +func (p *parser) callonListContinuationElement1596() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement131() + return p.cur.onListContinuationElement1596() } -func (c *current) onDoubleQuoteMarkedTextElement136() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement1588() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDoubleQuoteMarkedTextElement136() (bool, error) { +func (p *parser) callonListContinuationElement1588() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement136() + return p.cur.onListContinuationElement1588() } -func (c *current) onDoubleQuoteMarkedTextElement138() (interface{}, error) { +func (c *current) onListContinuationElement1607() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement138() (interface{}, error) { +func (p *parser) callonListContinuationElement1607() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement138() + return p.cur.onListContinuationElement1607() } -func (c *current) onDoubleQuoteMarkedTextElement142() (interface{}, error) { +func (c *current) onListContinuationElement1609() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement142() (interface{}, error) { +func (p *parser) callonListContinuationElement1609() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement142() + return p.cur.onListContinuationElement1609() } -func (c *current) onDoubleQuoteMarkedTextElement133() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListContinuationElement1618() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement133() (interface{}, error) { +func (p *parser) callonListContinuationElement1618() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement133() + return p.cur.onListContinuationElement1618() } -func (c *current) onDoubleQuoteMarkedTextElement152() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement1625() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement152() (bool, error) { +func (p *parser) callonListContinuationElement1625() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement152() + return p.cur.onListContinuationElement1625() } -func (c *current) onDoubleQuoteMarkedTextElement156() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1628(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement156() (interface{}, error) { +func (p *parser) callonListContinuationElement1628() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement156() + return p.cur.onListContinuationElement1628(stack["depth"]) } -func (c *current) onDoubleQuoteMarkedTextElement149() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListContinuationElement1622(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) callonDoubleQuoteMarkedTextElement149() (interface{}, error) { +func (p *parser) callonListContinuationElement1622() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement149() + return p.cur.onListContinuationElement1622(stack["depth"]) } -func (c *current) onDoubleQuoteMarkedTextElement163() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListContinuationElement1629() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonDoubleQuoteMarkedTextElement163() (interface{}, error) { +func (p *parser) callonListContinuationElement1629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement163() + return p.cur.onListContinuationElement1629() } -func (c *current) onDoubleQuoteMarkedTextElement165() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement1634() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonDoubleQuoteMarkedTextElement165() (interface{}, error) { +func (p *parser) callonListContinuationElement1634() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement165() + return p.cur.onListContinuationElement1634() } -func (c *current) onDoubleQuoteMarkedTextElement167() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListContinuationElement1638() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonDoubleQuoteMarkedTextElement167() (interface{}, error) { +func (p *parser) callonListContinuationElement1638() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement167() + return p.cur.onListContinuationElement1638() } -func (c *current) onDoubleQuoteMarkedTextElement111() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onListContinuationElement1642() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonDoubleQuoteMarkedTextElement111() (interface{}, error) { +func (p *parser) callonListContinuationElement1642() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement111() + return p.cur.onListContinuationElement1642() } -func (c *current) onDoubleQuoteMarkedTextElement169() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onListContinuationElement1647() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonDoubleQuoteMarkedTextElement169() (interface{}, error) { +func (p *parser) callonListContinuationElement1647() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement169() + return p.cur.onListContinuationElement1647() } -func (c *current) onDoubleQuoteMarkedTextElement171() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onListContinuationElement1652(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement171() (interface{}, error) { +func (p *parser) callonListContinuationElement1652() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement171() + return p.cur.onListContinuationElement1652(stack["prefix"]) } -func (c *current) onDoubleQuoteMarkedTextElement173() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onListContinuationElement1615(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement173() (interface{}, error) { +func (p *parser) callonListContinuationElement1615() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement173() + return p.cur.onListContinuationElement1615(stack["prefix"]) } -func (c *current) onDoubleQuoteMarkedTextElement175() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onListContinuationElement1659() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement175() (interface{}, error) { +func (p *parser) callonListContinuationElement1659() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement175() + return p.cur.onListContinuationElement1659() } -func (c *current) onDoubleQuoteMarkedTextElement177() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onListContinuationElement1662() (interface{}, error) { + // `-` or `*` to `*****` + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement177() (interface{}, error) { +func (p *parser) callonListContinuationElement1662() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement177() + return p.cur.onListContinuationElement1662() } -func (c *current) onDoubleQuoteMarkedTextElement179() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onListContinuationElement1667(style interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement179() (interface{}, error) { +func (p *parser) callonListContinuationElement1667() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement179() + return p.cur.onListContinuationElement1667(stack["style"]) } -func (c *current) onDoubleQuoteMarkedTextElement181() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onListContinuationElement1668(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement181() (interface{}, error) { +func (p *parser) callonListContinuationElement1668() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement181() + return p.cur.onListContinuationElement1668(stack["style"]) } -func (c *current) onDoubleQuoteMarkedTextElement183() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onListContinuationElement1656(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement183() (interface{}, error) { +func (p *parser) callonListContinuationElement1656() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement183() + return p.cur.onListContinuationElement1656(stack["style"]) } -func (c *current) onDoubleQuoteMarkedTextElement188() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil - +func (c *current) onListContinuationElement1676() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement188() (bool, error) { +func (p *parser) callonListContinuationElement1676() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement188() + return p.cur.onListContinuationElement1676() } -func (c *current) onDoubleQuoteMarkedTextElement190() (interface{}, error) { +func (c *current) onListContinuationElement1680(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement190() (interface{}, error) { +func (p *parser) callonListContinuationElement1680() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement190() + return p.cur.onListContinuationElement1680(stack["ref"]) } -func (c *current) onDoubleQuoteMarkedTextElement194() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1672(ref interface{}) (interface{}, error) { + return ref, nil + +} + +func (p *parser) callonListContinuationElement1672() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1672(stack["ref"]) +} + +func (c *current) onListContinuationElement1692() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement194() (interface{}, error) { +func (p *parser) callonListContinuationElement1692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement194() + return p.cur.onListContinuationElement1692() } -func (c *current) onDoubleQuoteMarkedTextElement185() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onListContinuationElement1695(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) callonDoubleQuoteMarkedTextElement185() (interface{}, error) { +func (p *parser) callonListContinuationElement1695() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement185() + return p.cur.onListContinuationElement1695(stack["separator"]) } -func (c *current) onDoubleQuoteMarkedTextElement204() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onListContinuationElement1689(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement204() (bool, error) { +func (p *parser) callonListContinuationElement1689() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement204() + return p.cur.onListContinuationElement1689(stack["separator"]) } -func (c *current) onDoubleQuoteMarkedTextElement208() (interface{}, error) { +func (c *current) onListContinuationElement1698() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement208() (interface{}, error) { +func (p *parser) callonListContinuationElement1698() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement208() + return p.cur.onListContinuationElement1698() } -func (c *current) onDoubleQuoteMarkedTextElement201() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onListContinuationElement1685() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonDoubleQuoteMarkedTextElement201() (interface{}, error) { +func (p *parser) callonListContinuationElement1685() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement201() + return p.cur.onListContinuationElement1685() } -func (c *current) onDoubleQuoteMarkedTextElement215() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onListContinuationElement1709() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement215() (interface{}, error) { +func (p *parser) callonListContinuationElement1709() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement215() + return p.cur.onListContinuationElement1709() } -func (c *current) onDoubleQuoteMarkedTextElement217() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onListContinuationElement1712(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) callonDoubleQuoteMarkedTextElement217() (interface{}, error) { +func (p *parser) callonListContinuationElement1712() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement217() + return p.cur.onListContinuationElement1712(stack["separator"]) } -func (c *current) onDoubleQuoteMarkedTextElement219() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onListContinuationElement1706(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement219() (interface{}, error) { +func (p *parser) callonListContinuationElement1706() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement219() + return p.cur.onListContinuationElement1706(stack["separator"]) } -func (c *current) onDoubleQuoteMarkedTextElement221() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onListContinuationElement1723() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement221() (interface{}, error) { +func (p *parser) callonListContinuationElement1723() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement221() + return p.cur.onListContinuationElement1723() } -func (c *current) onDoubleQuoteMarkedTextElement223() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onListContinuationElement1729() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement223() (interface{}, error) { +func (p *parser) callonListContinuationElement1729() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement223() + return p.cur.onListContinuationElement1729() } -func (c *current) onDoubleQuoteMarkedTextElement230() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil - +func (c *current) onListContinuationElement1732() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement230() (bool, error) { +func (p *parser) callonListContinuationElement1732() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement230() + return p.cur.onListContinuationElement1732() } -func (c *current) onDoubleQuoteMarkedTextElement228() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onListContinuationElement1720(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement228() (interface{}, error) { +func (p *parser) callonListContinuationElement1720() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement228() + return p.cur.onListContinuationElement1720(stack["delimiter"]) } -func (c *current) onDoubleQuoteMarkedTextElement106(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement1742() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement106() (interface{}, error) { +func (p *parser) callonListContinuationElement1742() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement106(stack["element"]) + return p.cur.onListContinuationElement1742() } -func (c *current) onDoubleQuoteMarkedTextElement236() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onListContinuationElement1748() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement236() (bool, error) { +func (p *parser) callonListContinuationElement1748() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement236() + return p.cur.onListContinuationElement1748() } -func (c *current) onDoubleQuoteMarkedTextElement245() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement1751() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement245() (interface{}, error) { +func (p *parser) callonListContinuationElement1751() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement245() + return p.cur.onListContinuationElement1751() } -func (c *current) onDoubleQuoteMarkedTextElement249() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1739(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement249() (interface{}, error) { +func (p *parser) callonListContinuationElement1739() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement249() + return p.cur.onListContinuationElement1739(stack["delimiter"]) } -func (c *current) onDoubleQuoteMarkedTextElement255() (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) onListContinuationElement1762() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement255() (interface{}, error) { +func (p *parser) callonListContinuationElement1762() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement255() + return p.cur.onListContinuationElement1762() } -func (c *current) onDoubleQuoteMarkedTextElement264() (interface{}, error) { +func (c *current) onListContinuationElement1766() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement264() (interface{}, error) { +func (p *parser) callonListContinuationElement1766() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement264() + return p.cur.onListContinuationElement1766() } -func (c *current) onDoubleQuoteMarkedTextElement260(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1769() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (p *parser) callonListContinuationElement1769() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1769() +} +func (c *current) onListContinuationElement1758(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement260() (interface{}, error) { +func (p *parser) callonListContinuationElement1758() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement260(stack["name"]) + return p.cur.onListContinuationElement1758(stack["language"]) } -func (c *current) onDoubleQuoteMarkedTextElement274() (interface{}, error) { +func (c *current) onListContinuationElement1779() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement274() (interface{}, error) { +func (p *parser) callonListContinuationElement1779() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement274() + return p.cur.onListContinuationElement1779() } -func (c *current) onDoubleQuoteMarkedTextElement270(name interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1785() (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement270() (interface{}, error) { +func (p *parser) callonListContinuationElement1785() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement270(stack["name"]) + return p.cur.onListContinuationElement1785() } -func (c *current) onDoubleQuoteMarkedTextElement280() (interface{}, error) { +func (c *current) onListContinuationElement1788() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return types.NewStringElement(string(c.text)) +func (p *parser) callonListContinuationElement1788() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1788() +} + +func (c *current) onListContinuationElement1776(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement280() (interface{}, error) { +func (p *parser) callonListContinuationElement1776() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement280() + return p.cur.onListContinuationElement1776(stack["delimiter"]) } -func (c *current) onDoubleQuoteMarkedTextElement241(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onListContinuationElement1798() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement241() (interface{}, error) { +func (p *parser) callonListContinuationElement1798() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement241(stack["id"], stack["label"]) + return p.cur.onListContinuationElement1798() } -func (c *current) onDoubleQuoteMarkedTextElement287() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListContinuationElement1804() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement287() (interface{}, error) { +func (p *parser) callonListContinuationElement1804() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement287() + return p.cur.onListContinuationElement1804() } -func (c *current) onDoubleQuoteMarkedTextElement283(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onListContinuationElement1807() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListContinuationElement1807() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1807() +} + +func (c *current) onListContinuationElement1795(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement283() (interface{}, error) { +func (p *parser) callonListContinuationElement1795() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement283(stack["id"]) + return p.cur.onListContinuationElement1795(stack["delimiter"]) } -func (c *current) onDoubleQuoteMarkedTextElement239() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement1817() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement239() (interface{}, error) { +func (p *parser) callonListContinuationElement1817() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement239() + return p.cur.onListContinuationElement1817() } -func (c *current) onDoubleQuoteMarkedTextElement291() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListContinuationElement1823() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement291() (interface{}, error) { +func (p *parser) callonListContinuationElement1823() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1823() +} + +func (c *current) onListContinuationElement1826() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListContinuationElement1826() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement291() + return p.cur.onListContinuationElement1826() } -func (c *current) onDoubleQuoteMarkedTextElement234(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement1814(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement234() (interface{}, error) { +func (p *parser) callonListContinuationElement1814() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement234(stack["element"]) + return p.cur.onListContinuationElement1814(stack["delimiter"]) } -func (c *current) onDoubleQuoteMarkedTextElement298() (interface{}, error) { +func (c *current) onListContinuationElement1836() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil -} - -func (p *parser) callonDoubleQuoteMarkedTextElement298() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDoubleQuoteMarkedTextElement298() -} -func (c *current) onDoubleQuoteMarkedTextElement294(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement294() (interface{}, error) { +func (p *parser) callonListContinuationElement1836() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement294(stack["ref"]) + return p.cur.onListContinuationElement1836() } -func (c *current) onDoubleQuoteMarkedTextElement302() (interface{}, error) { +func (c *current) onListContinuationElement1842() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement302() (interface{}, error) { +func (p *parser) callonListContinuationElement1842() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement302() + return p.cur.onListContinuationElement1842() } -func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil - +func (c *current) onListContinuationElement1845() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { +func (p *parser) callonListContinuationElement1845() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) + return p.cur.onListContinuationElement1845() } -func (c *current) onSingleQuoteMarkedText4() (bool, error) { - log.Debug("SingleQuoteMarkedTextStartDelimiter") - return c.isSingleQuotedTextAllowed(), nil +func (c *current) onListContinuationElement1833(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedText4() (bool, error) { +func (p *parser) callonListContinuationElement1833() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedText4() + return p.cur.onListContinuationElement1833(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedText13(elements interface{}) (bool, error) { - log.Debug("SingleQuoteMarkedTextEndDelimiter") - return !c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement1855() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedText13() (bool, error) { +func (p *parser) callonListContinuationElement1855() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedText13(stack["elements"]) + return p.cur.onListContinuationElement1855() } -func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1861() (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonListContinuationElement1861() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedText1(stack["elements"]) + return p.cur.onListContinuationElement1861() } -func (c *current) onSingleQuoteMarkedTextElements4() (interface{}, error) { +func (c *current) onListContinuationElement1864() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMarkedTextElements4() (interface{}, error) { +func (p *parser) callonListContinuationElement1864() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements4() + return p.cur.onListContinuationElement1864() } -func (c *current) onSingleQuoteMarkedTextElements9(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onListContinuationElement1852(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElements9() (bool, error) { +func (p *parser) callonListContinuationElement1852() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements9(stack["elements"]) + return p.cur.onListContinuationElement1852(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onListContinuationElement1874() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { +func (p *parser) callonListContinuationElement1874() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) + return p.cur.onListContinuationElement1874() } -func (c *current) onSingleQuoteMarkedTextElement11() (bool, error) { - log.Debug("SingleQuoteMarkedTextEndDelimiter") - return !c.isPrecededBySpace(), nil +func (c *current) onListContinuationElement1880() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement11() (bool, error) { +func (p *parser) callonListContinuationElement1880() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement11() + return p.cur.onListContinuationElement1880() } -func (c *current) onSingleQuoteMarkedTextElement24() (interface{}, error) { +func (c *current) onListContinuationElement1883() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMarkedTextElement24() (interface{}, error) { +func (p *parser) callonListContinuationElement1883() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement24() + return p.cur.onListContinuationElement1883() } -func (c *current) onSingleQuoteMarkedTextElement17() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListContinuationElement1871(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement17() (interface{}, error) { +func (p *parser) callonListContinuationElement1871() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement17() + return p.cur.onListContinuationElement1871(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement27() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListContinuationElement1714(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonSingleQuoteMarkedTextElement27() (interface{}, error) { +func (p *parser) callonListContinuationElement1714() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement27() + return p.cur.onListContinuationElement1714(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement32() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1891() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuoteMarkedTextElement32() (interface{}, error) { +func (p *parser) callonListContinuationElement1891() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement32() + return p.cur.onListContinuationElement1891() } -func (c *current) onSingleQuoteMarkedTextElement38() (interface{}, error) { +func (c *current) onListContinuationElement1895() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement38() (interface{}, error) { +func (p *parser) callonListContinuationElement1895() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement38() + return p.cur.onListContinuationElement1895() } -func (c *current) onSingleQuoteMarkedTextElement30() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1585(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) + } -func (p *parser) callonSingleQuoteMarkedTextElement30() (interface{}, error) { +func (p *parser) callonListContinuationElement1585() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement30() + return p.cur.onListContinuationElement1585(stack["content"]) } -func (c *current) onSingleQuoteMarkedTextElement45() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onListContinuationElement1560(style, content interface{}) (interface{}, error) { + return types.NewParagraph(style, content) } -func (p *parser) callonSingleQuoteMarkedTextElement45() (bool, error) { +func (p *parser) callonListContinuationElement1560() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement45() + return p.cur.onListContinuationElement1560(stack["style"], stack["content"]) } -func (c *current) onSingleQuoteMarkedTextElement52() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1(attributes, element interface{}) (interface{}, error) { + if element, ok := element.(types.WithAttributes); ok && attributes != nil { + element.AddAttributes(attributes.(types.Attributes)) + } + return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement52() (interface{}, error) { +func (p *parser) callonListContinuationElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement52() + return p.cur.onListContinuationElement1(stack["attributes"], stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement64() (interface{}, error) { - return string(c.text), nil +func (c *current) onCallout3() (bool, error) { + return c.isSubstitutionEnabled(Callouts) } -func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { +func (p *parser) callonCallout3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement64() + return p.cur.onCallout3() } -func (c *current) onSingleQuoteMarkedTextElement66() (interface{}, error) { - +func (c *current) onCallout6() (interface{}, error) { return strconv.Atoi(string(c.text)) - } -func (p *parser) callonSingleQuoteMarkedTextElement66() (interface{}, error) { +func (p *parser) callonCallout6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement66() + return p.cur.onCallout6() } -func (c *current) onSingleQuoteMarkedTextElement59(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onCallout11() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement59() (interface{}, error) { +func (p *parser) callonCallout11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement59(stack["start"]) + return p.cur.onCallout11() } -func (c *current) onSingleQuoteMarkedTextElement48(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onCallout15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement48() (interface{}, error) { +func (p *parser) callonCallout15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement48(stack["name"], stack["start"]) + return p.cur.onCallout15() } -func (c *current) onSingleQuoteMarkedTextElement74() (interface{}, error) { - return string(c.text), nil +func (c *current) onCallout1(ref interface{}) (interface{}, error) { + return types.NewCallout(ref.(int)) } -func (p *parser) callonSingleQuoteMarkedTextElement74() (interface{}, error) { +func (p *parser) callonCallout1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement74() + return p.cur.onCallout1(stack["ref"]) } -func (c *current) onSingleQuoteMarkedTextElement86() (interface{}, error) { +func (c *current) onShortcutParagraph9() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement86() (interface{}, error) { +func (p *parser) callonShortcutParagraph9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement86() + return p.cur.onShortcutParagraph9() } -func (c *current) onSingleQuoteMarkedTextElement88() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onShortcutParagraph16() (bool, error) { + return !c.isWithinLiteralParagraph(), nil } -func (p *parser) callonSingleQuoteMarkedTextElement88() (interface{}, error) { +func (p *parser) callonShortcutParagraph16() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement88() + return p.cur.onShortcutParagraph16() } -func (c *current) onSingleQuoteMarkedTextElement81(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onShortcutParagraph19() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonSingleQuoteMarkedTextElement81() (interface{}, error) { +func (p *parser) callonShortcutParagraph19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement81(stack["start"]) + return p.cur.onShortcutParagraph19() } -func (c *current) onSingleQuoteMarkedTextElement70(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onShortcutParagraph21() (interface{}, error) { + return types.Note, nil + } -func (p *parser) callonSingleQuoteMarkedTextElement70() (interface{}, error) { +func (p *parser) callonShortcutParagraph21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement70(stack["name"], stack["start"]) + return p.cur.onShortcutParagraph21() } -func (c *current) onSingleQuoteMarkedTextElement96() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph23() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { +func (p *parser) callonShortcutParagraph23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement96() + return p.cur.onShortcutParagraph23() } -func (c *current) onSingleQuoteMarkedTextElement92(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) onShortcutParagraph25() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonSingleQuoteMarkedTextElement92() (interface{}, error) { +func (p *parser) callonShortcutParagraph25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement92(stack["name"]) + return p.cur.onShortcutParagraph25() } -func (c *current) onSingleQuoteMarkedTextElement106() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph27() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonSingleQuoteMarkedTextElement106() (interface{}, error) { +func (p *parser) callonShortcutParagraph27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement106() + return p.cur.onShortcutParagraph27() } -func (c *current) onSingleQuoteMarkedTextElement102(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onShortcutParagraph31() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement102() (interface{}, error) { +func (p *parser) callonShortcutParagraph31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement102(stack["name"]) + return p.cur.onShortcutParagraph31() } -func (c *current) onSingleQuoteMarkedTextElement43(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph29() (interface{}, error) { + // check + return types.LiteralParagraph, nil } -func (p *parser) callonSingleQuoteMarkedTextElement43() (interface{}, error) { +func (p *parser) callonShortcutParagraph29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement43(stack["element"]) + return p.cur.onShortcutParagraph29() } -func (c *current) onSingleQuoteMarkedTextElement115() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onShortcutParagraph14(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonSingleQuoteMarkedTextElement115() (bool, error) { +func (p *parser) callonShortcutParagraph14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement115() + return p.cur.onShortcutParagraph14(stack["style"]) } -func (c *current) onSingleQuoteMarkedTextElement122() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onShortcutParagraph38() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement122() (interface{}, error) { +func (p *parser) callonShortcutParagraph38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement122() + return p.cur.onShortcutParagraph38() } -func (c *current) onSingleQuoteMarkedTextElement124() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onShortcutParagraph41(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonSingleQuoteMarkedTextElement124() (interface{}, error) { +func (p *parser) callonShortcutParagraph41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement124() + return p.cur.onShortcutParagraph41(stack["content"]) } -func (c *current) onSingleQuoteMarkedTextElement126() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onShortcutParagraph43() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement126() (interface{}, error) { +func (p *parser) callonShortcutParagraph43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement126() + return p.cur.onShortcutParagraph43() } -func (c *current) onSingleQuoteMarkedTextElement128() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onShortcutParagraph35(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMarkedTextElement128() (interface{}, error) { +func (p *parser) callonShortcutParagraph35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement128() + return p.cur.onShortcutParagraph35(stack["content"]) } -func (c *current) onSingleQuoteMarkedTextElement130() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onShortcutParagraph50(style, 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) callonSingleQuoteMarkedTextElement130() (interface{}, error) { +func (p *parser) callonShortcutParagraph50() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement130() + return p.cur.onShortcutParagraph50(stack["style"], stack["firstLine"]) } -func (c *current) onSingleQuoteMarkedTextElement132() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onShortcutParagraph63() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement132() (interface{}, error) { +func (p *parser) callonShortcutParagraph63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement132() + return p.cur.onShortcutParagraph63() } -func (c *current) onSingleQuoteMarkedTextElement134() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onShortcutParagraph66() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement134() (interface{}, error) { +func (p *parser) callonShortcutParagraph66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement134() + return p.cur.onShortcutParagraph66() } -func (c *current) onSingleQuoteMarkedTextElement136() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onShortcutParagraph58() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonSingleQuoteMarkedTextElement136() (interface{}, error) { +func (p *parser) callonShortcutParagraph58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement136() + return p.cur.onShortcutParagraph58() } -func (c *current) onSingleQuoteMarkedTextElement138() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onShortcutParagraph85() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement138() (interface{}, error) { +func (p *parser) callonShortcutParagraph85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement138() + return p.cur.onShortcutParagraph85() } -func (c *current) onSingleQuoteMarkedTextElement143() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onShortcutParagraph91() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement143() (bool, error) { +func (p *parser) callonShortcutParagraph91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement143() + return p.cur.onShortcutParagraph91() } -func (c *current) onSingleQuoteMarkedTextElement145() (interface{}, error) { +func (c *current) onShortcutParagraph94() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMarkedTextElement145() (interface{}, error) { +func (p *parser) callonShortcutParagraph94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement145() + return p.cur.onShortcutParagraph94() } -func (c *current) onSingleQuoteMarkedTextElement149() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortcutParagraph82(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonSingleQuoteMarkedTextElement149() (interface{}, error) { +func (p *parser) callonShortcutParagraph82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement149() + return p.cur.onShortcutParagraph82(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement140() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onShortcutParagraph104() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement140() (interface{}, error) { +func (p *parser) callonShortcutParagraph104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement140() + return p.cur.onShortcutParagraph104() } -func (c *current) onSingleQuoteMarkedTextElement159() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onShortcutParagraph110() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement159() (bool, error) { +func (p *parser) callonShortcutParagraph110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement159() + return p.cur.onShortcutParagraph110() } -func (c *current) onSingleQuoteMarkedTextElement163() (interface{}, error) { +func (c *current) onShortcutParagraph113() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement163() (interface{}, error) { +func (p *parser) callonShortcutParagraph113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement163() + return p.cur.onShortcutParagraph113() } -func (c *current) onSingleQuoteMarkedTextElement156() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onShortcutParagraph101(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement156() (interface{}, error) { +func (p *parser) callonShortcutParagraph101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement156() + return p.cur.onShortcutParagraph101(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement170() (interface{}, error) { - return types.NewSymbol("<-") - +func (c *current) onShortcutParagraph124() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement170() (interface{}, error) { +func (p *parser) callonShortcutParagraph124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement170() + return p.cur.onShortcutParagraph124() } -func (c *current) onSingleQuoteMarkedTextElement172() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onShortcutParagraph128() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement172() (interface{}, error) { +func (p *parser) callonShortcutParagraph128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement172() + return p.cur.onShortcutParagraph128() } -func (c *current) onSingleQuoteMarkedTextElement174() (interface{}, error) { - return types.NewSymbol("<=") - +func (c *current) onShortcutParagraph131() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement174() (interface{}, error) { +func (p *parser) callonShortcutParagraph131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement174() + return p.cur.onShortcutParagraph131() } -func (c *current) onSingleQuoteMarkedTextElement118() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onShortcutParagraph120(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement118() (interface{}, error) { +func (p *parser) callonShortcutParagraph120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement118() + return p.cur.onShortcutParagraph120(stack["language"]) } -func (c *current) onSingleQuoteMarkedTextElement176() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onShortcutParagraph141() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement176() (interface{}, error) { +func (p *parser) callonShortcutParagraph141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement176() + return p.cur.onShortcutParagraph141() } -func (c *current) onSingleQuoteMarkedTextElement178() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onShortcutParagraph147() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement178() (interface{}, error) { +func (p *parser) callonShortcutParagraph147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement178() + return p.cur.onShortcutParagraph147() } -func (c *current) onSingleQuoteMarkedTextElement180() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onShortcutParagraph150() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement180() (interface{}, error) { +func (p *parser) callonShortcutParagraph150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement180() + return p.cur.onShortcutParagraph150() } -func (c *current) onSingleQuoteMarkedTextElement182() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onShortcutParagraph138(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement182() (interface{}, error) { +func (p *parser) callonShortcutParagraph138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement182() + return p.cur.onShortcutParagraph138(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement184() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onShortcutParagraph160() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement184() (interface{}, error) { +func (p *parser) callonShortcutParagraph160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement184() + return p.cur.onShortcutParagraph160() } -func (c *current) onSingleQuoteMarkedTextElement186() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onShortcutParagraph166() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement186() (interface{}, error) { +func (p *parser) callonShortcutParagraph166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement186() + return p.cur.onShortcutParagraph166() } -func (c *current) onSingleQuoteMarkedTextElement188() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onShortcutParagraph169() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement188() (interface{}, error) { +func (p *parser) callonShortcutParagraph169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement188() + return p.cur.onShortcutParagraph169() } -func (c *current) onSingleQuoteMarkedTextElement190() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onShortcutParagraph157(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement190() (interface{}, error) { +func (p *parser) callonShortcutParagraph157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement190() + return p.cur.onShortcutParagraph157(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement195() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onShortcutParagraph179() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement195() (bool, error) { +func (p *parser) callonShortcutParagraph179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement195() + return p.cur.onShortcutParagraph179() } -func (c *current) onSingleQuoteMarkedTextElement197() (interface{}, error) { +func (c *current) onShortcutParagraph185() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement197() (interface{}, error) { +func (p *parser) callonShortcutParagraph185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement197() + return p.cur.onShortcutParagraph185() } -func (c *current) onSingleQuoteMarkedTextElement201() (interface{}, error) { +func (c *current) onShortcutParagraph188() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement201() (interface{}, error) { +func (p *parser) callonShortcutParagraph188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement201() + return p.cur.onShortcutParagraph188() } -func (c *current) onSingleQuoteMarkedTextElement192() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onShortcutParagraph176(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement192() (interface{}, error) { +func (p *parser) callonShortcutParagraph176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement192() + return p.cur.onShortcutParagraph176(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement211() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onShortcutParagraph198() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonShortcutParagraph198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onShortcutParagraph198() +} + +func (c *current) onShortcutParagraph204() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement211() (bool, error) { +func (p *parser) callonShortcutParagraph204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement211() + return p.cur.onShortcutParagraph204() } -func (c *current) onSingleQuoteMarkedTextElement215() (interface{}, error) { +func (c *current) onShortcutParagraph207() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement215() (interface{}, error) { +func (p *parser) callonShortcutParagraph207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement215() + return p.cur.onShortcutParagraph207() } -func (c *current) onSingleQuoteMarkedTextElement208() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onShortcutParagraph195(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement208() (interface{}, error) { +func (p *parser) callonShortcutParagraph195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement208() + return p.cur.onShortcutParagraph195(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement222() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onShortcutParagraph217() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement222() (interface{}, error) { +func (p *parser) callonShortcutParagraph217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement222() + return p.cur.onShortcutParagraph217() } -func (c *current) onSingleQuoteMarkedTextElement224() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onShortcutParagraph223() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement224() (interface{}, error) { +func (p *parser) callonShortcutParagraph223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement224() + return p.cur.onShortcutParagraph223() } -func (c *current) onSingleQuoteMarkedTextElement226() (interface{}, error) { - return types.NewSymbol("=>") - +func (c *current) onShortcutParagraph226() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement226() (interface{}, error) { +func (p *parser) callonShortcutParagraph226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement226() + return p.cur.onShortcutParagraph226() } -func (c *current) onSingleQuoteMarkedTextElement228() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onShortcutParagraph214(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement228() (interface{}, error) { +func (p *parser) callonShortcutParagraph214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement228() + return p.cur.onShortcutParagraph214(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement230() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onShortcutParagraph236() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement230() (interface{}, error) { +func (p *parser) callonShortcutParagraph236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement230() + return p.cur.onShortcutParagraph236() } -func (c *current) onSingleQuoteMarkedTextElement237() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onShortcutParagraph242() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement237() (bool, error) { +func (p *parser) callonShortcutParagraph242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement237() + return p.cur.onShortcutParagraph242() } -func (c *current) onSingleQuoteMarkedTextElement235() (interface{}, error) { - return types.NewSymbol("'") - +func (c *current) onShortcutParagraph245() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement235() (interface{}, error) { +func (p *parser) callonShortcutParagraph245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement235() + return p.cur.onShortcutParagraph245() } -func (c *current) onSingleQuoteMarkedTextElement113(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onShortcutParagraph233(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement113() (interface{}, error) { +func (p *parser) callonShortcutParagraph233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement113(stack["element"]) + return p.cur.onShortcutParagraph233(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement243() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onShortcutParagraph76(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonSingleQuoteMarkedTextElement243() (bool, error) { +func (p *parser) callonShortcutParagraph76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement243() + return p.cur.onShortcutParagraph76(stack["delimiter"]) } -func (c *current) onSingleQuoteMarkedTextElement252() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onShortcutParagraph256() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement252() (interface{}, error) { +func (p *parser) callonShortcutParagraph256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement252() + return p.cur.onShortcutParagraph256() } -func (c *current) onSingleQuoteMarkedTextElement256() (interface{}, error) { +func (c *current) onShortcutParagraph258() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMarkedTextElement256() (interface{}, error) { +func (p *parser) callonShortcutParagraph258() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement256() + return p.cur.onShortcutParagraph258() } -func (c *current) onSingleQuoteMarkedTextElement262() (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) onShortcutParagraph271() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement262() (interface{}, error) { +func (p *parser) callonShortcutParagraph271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement262() + return p.cur.onShortcutParagraph271() } -func (c *current) onSingleQuoteMarkedTextElement271() (interface{}, error) { +func (c *current) onShortcutParagraph275() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMarkedTextElement271() (interface{}, error) { +func (p *parser) callonShortcutParagraph275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement271() + return p.cur.onShortcutParagraph275() } -func (c *current) onSingleQuoteMarkedTextElement267(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) onShortcutParagraph265(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonSingleQuoteMarkedTextElement267() (interface{}, error) { +func (p *parser) callonShortcutParagraph265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement267(stack["name"]) + return p.cur.onShortcutParagraph265(stack["content"]) } -func (c *current) onSingleQuoteMarkedTextElement281() (interface{}, error) { +func (c *current) onShortcutParagraph285() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement281() (interface{}, error) { +func (p *parser) callonShortcutParagraph285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement281() + return p.cur.onShortcutParagraph285() } -func (c *current) onSingleQuoteMarkedTextElement277(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onShortcutParagraph288(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonSingleQuoteMarkedTextElement277() (interface{}, error) { +func (p *parser) callonShortcutParagraph288() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement277(stack["name"]) + return p.cur.onShortcutParagraph288(stack["content"]) } -func (c *current) onSingleQuoteMarkedTextElement287() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onShortcutParagraph290() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement287() (interface{}, error) { +func (p *parser) callonShortcutParagraph290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement287() + return p.cur.onShortcutParagraph290() } -func (c *current) onSingleQuoteMarkedTextElement248(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onShortcutParagraph282(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSingleQuoteMarkedTextElement248() (interface{}, error) { +func (p *parser) callonShortcutParagraph282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement248(stack["id"], stack["label"]) + return p.cur.onShortcutParagraph282(stack["content"]) } -func (c *current) onSingleQuoteMarkedTextElement294() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onShortcutParagraph53(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSingleQuoteMarkedTextElement294() (interface{}, error) { +func (p *parser) callonShortcutParagraph53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement294() + return p.cur.onShortcutParagraph53(stack["line"]) } -func (c *current) onSingleQuoteMarkedTextElement290(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onShortcutParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) } -func (p *parser) callonSingleQuoteMarkedTextElement290() (interface{}, error) { +func (p *parser) callonShortcutParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement290(stack["id"]) + return p.cur.onShortcutParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onSingleQuoteMarkedTextElement246() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onParagraph7() (bool, error) { + return !c.isWithinLiteralParagraph(), nil } -func (p *parser) callonSingleQuoteMarkedTextElement246() (interface{}, error) { +func (p *parser) callonParagraph7() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement246() + return p.cur.onParagraph7() } -func (c *current) onSingleQuoteMarkedTextElement298() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onParagraph10() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonSingleQuoteMarkedTextElement298() (interface{}, error) { +func (p *parser) callonParagraph10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement298() + return p.cur.onParagraph10() } -func (c *current) onSingleQuoteMarkedTextElement241(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onParagraph12() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonSingleQuoteMarkedTextElement241() (interface{}, error) { +func (p *parser) callonParagraph12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement241(stack["element"]) + return p.cur.onParagraph12() } -func (c *current) onSingleQuoteMarkedTextElement305() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph14() (interface{}, error) { + return types.Important, nil + } -func (p *parser) callonSingleQuoteMarkedTextElement305() (interface{}, error) { +func (p *parser) callonParagraph14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement305() + return p.cur.onParagraph14() } -func (c *current) onSingleQuoteMarkedTextElement301(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onParagraph16() (interface{}, error) { + return types.Warning, nil + } -func (p *parser) callonSingleQuoteMarkedTextElement301() (interface{}, error) { +func (p *parser) callonParagraph16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement301(stack["ref"]) + return p.cur.onParagraph16() } -func (c *current) onSingleQuoteMarkedTextElement309() (interface{}, error) { - - return string(c.text), nil +func (c *current) onParagraph18() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonSingleQuoteMarkedTextElement309() (interface{}, error) { +func (p *parser) callonParagraph18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement309() + return p.cur.onParagraph18() } -func (c *current) onSingleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil +func (c *current) onParagraph22() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement1() (interface{}, error) { +func (p *parser) callonParagraph22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement1(stack["element"]) + return p.cur.onParagraph22() } -func (c *current) onEscapedMarkedText5() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph20() (interface{}, error) { + // check + return types.LiteralParagraph, nil } -func (p *parser) callonEscapedMarkedText5() (interface{}, error) { +func (p *parser) callonParagraph20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText5() + return p.cur.onParagraph20() } -func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) +func (c *current) onParagraph5(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonEscapedMarkedText2() (interface{}, error) { +func (p *parser) callonParagraph5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) + return p.cur.onParagraph5(stack["style"]) } -func (c *current) onEscapedMarkedText17() (interface{}, error) { +func (c *current) onParagraph29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedMarkedText17() (interface{}, error) { +func (p *parser) callonParagraph29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText17() + return p.cur.onParagraph29() } -func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"#"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "#", result) +func (c *current) onParagraph32(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonEscapedMarkedText14() (interface{}, error) { +func (p *parser) callonParagraph32() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) + return p.cur.onParagraph32(stack["content"]) } -func (c *current) onEscapedMarkedText27() (interface{}, error) { +func (c *current) onParagraph34() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonEscapedMarkedText27() (interface{}, error) { +func (p *parser) callonParagraph34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText27() + return p.cur.onParagraph34() } -func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) +func (c *current) onParagraph26(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonEscapedMarkedText24() (interface{}, error) { +func (p *parser) callonParagraph26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) + return p.cur.onParagraph26(stack["content"]) } -func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSubscript, element) +func (c *current) onParagraph53() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSubscriptText1() (interface{}, error) { +func (p *parser) callonParagraph53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptText1(stack["element"]) + return p.cur.onParagraph53() } -func (c *current) onSubscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '~' - return c.text, nil - +func (c *current) onParagraph56() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSubscriptTextElement3() (interface{}, error) { +func (p *parser) callonParagraph56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptTextElement3() + return p.cur.onParagraph56() } -func (c *current) onEscapedSubscriptText4() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph48() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { +func (p *parser) callonParagraph48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText4() + return p.cur.onParagraph48() } -func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "~", element) +func (c *current) onParagraph73() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { +func (p *parser) callonParagraph73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onParagraph73() } -func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSuperscript, element) - +func (c *current) onParagraph77() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSuperscriptText1() (interface{}, error) { +func (p *parser) callonParagraph77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptText1(stack["element"]) + return p.cur.onParagraph77() } -func (c *current) onSuperscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '^' - return c.text, nil +func (c *current) onParagraph67(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { +func (p *parser) callonParagraph67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptTextElement3() + return p.cur.onParagraph67(stack["content"]) } -func (c *current) onEscapedSuperscriptText4() (interface{}, error) { +func (c *current) onParagraph87() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { +func (p *parser) callonParagraph87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText4() + return p.cur.onParagraph87() } -func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "^", element) +func (c *current) onParagraph90(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { +func (p *parser) callonParagraph90() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onParagraph90(stack["content"]) +} + +func (c *current) onParagraph92() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonParagraph92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph92() } -func (c *current) onSection3() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil +func (c *current) onParagraph84(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonSection3() (bool, error) { +func (p *parser) callonParagraph84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection3() + return p.cur.onParagraph84(stack["content"]) } -func (c *current) onSection5() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil +func (c *current) onParagraph43(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonSection5() (interface{}, error) { +func (p *parser) callonParagraph43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection5() + return p.cur.onParagraph43(stack["line"]) } -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) onParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) } -func (p *parser) callonSection8() (bool, error) { +func (p *parser) callonParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection8(stack["level"]) + return p.cur.onParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onSection9(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onEscapedQuotedText5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSection9() (interface{}, error) { +func (p *parser) callonEscapedQuotedText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection9(stack["level"]) + return p.cur.onEscapedQuotedText5() } -func (c *current) onSection15() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onEscapedQuotedText1(attributes, element interface{}) (interface{}, error) { + return append([]interface{}{attributes}, element.([]interface{})...), nil + } -func (p *parser) callonSection15() (interface{}, error) { +func (p *parser) callonEscapedQuotedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection15() + return p.cur.onEscapedQuotedText1(stack["attributes"], stack["element"]) } -func (c *current) onSection1(level, title interface{}) (interface{}, error) { - return types.NewSection(level.(int), title.([]interface{})) +func (c *current) onUnescapedQuotedText1(attributes, element interface{}) (interface{}, error) { + return element.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonSection1() (interface{}, error) { +func (p *parser) callonUnescapedQuotedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSection1(stack["level"], stack["title"]) + return p.cur.onUnescapedQuotedText1(stack["attributes"], stack["element"]) } -func (c *current) onSectionTitle3() error { - // enable substitutions - c.withSubstitutions(headerSubstitutions()) - return nil +func (c *current) onQuotedTextElement7() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSectionTitle3() error { +func (p *parser) callonQuotedTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitle3() + return p.cur.onQuotedTextElement7() } -func (c *current) onSectionTitle1(elements interface{}) (interface{}, error) { - - return types.NewInlineElements(elements) +func (c *current) onQuotedTextElement9() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonSectionTitle1() (interface{}, error) { +func (p *parser) callonQuotedTextElement9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitle1(stack["elements"]) + return p.cur.onQuotedTextElement9() } -func (c *current) onSectionTitleElement5() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onQuotedTextElement15() (bool, error) { + + return c.isSubstitutionDisabled(Macros) + } -func (p *parser) callonSectionTitleElement5() (interface{}, error) { +func (p *parser) callonQuotedTextElement15() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement5() + return p.cur.onQuotedTextElement15() } -func (c *current) onSectionTitleElement21() (interface{}, error) { +func (c *current) onQuotedTextElement23() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement21() (interface{}, error) { +func (p *parser) callonQuotedTextElement23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement21() + return p.cur.onQuotedTextElement23() } -func (c *current) onSectionTitleElement24() (interface{}, error) { +func (c *current) onQuotedTextElement25() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSectionTitleElement24() (interface{}, error) { +func (p *parser) callonQuotedTextElement25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement24() + return p.cur.onQuotedTextElement25() } -func (c *current) onSectionTitleElement14() (interface{}, error) { +func (c *current) onQuotedTextElement2() (interface{}, error) { + log.Debugf("new inlineword: '%v'", string(c.text)) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSectionTitleElement14() (interface{}, error) { +func (p *parser) callonQuotedTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement14() + return p.cur.onQuotedTextElement2() } -func (c *current) onSectionTitleElement34() (interface{}, error) { +func (c *current) onQuotedTextElement34() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSectionTitleElement34() (interface{}, error) { +func (p *parser) callonQuotedTextElement34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement34() + return p.cur.onQuotedTextElement34() } -func (c *current) onSectionTitleElement45() (interface{}, error) { - // spaces, commas and dots are allowed in this syntax - return types.NewStringElement(string(c.text)) +func (c *current) onQuotedTextElement37() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonSectionTitleElement45() (interface{}, error) { +func (p *parser) callonQuotedTextElement37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement45() + return p.cur.onQuotedTextElement37() } -func (c *current) onSectionTitleElement52() (interface{}, error) { +func (c *current) onQuotedTextElement51() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSectionTitleElement52() (interface{}, error) { +func (p *parser) callonQuotedTextElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement52() + return p.cur.onQuotedTextElement51() } -func (c *current) onSectionTitleElement48(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onQuotedTextElement53() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSectionTitleElement48() (interface{}, error) { +func (p *parser) callonQuotedTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement48(stack["ref"]) + return p.cur.onQuotedTextElement53() } -func (c *current) onSectionTitleElement58() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onQuotedTextElement61() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonSectionTitleElement58() (bool, error) { +func (p *parser) callonQuotedTextElement61() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement58() + return p.cur.onQuotedTextElement61() } -func (c *current) onSectionTitleElement65() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextElement64() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonSectionTitleElement65() (interface{}, error) { +func (p *parser) callonQuotedTextElement64() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement65() + return p.cur.onQuotedTextElement64() } -func (c *current) onSectionTitleElement77() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextElement67() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonSectionTitleElement77() (interface{}, error) { +func (p *parser) callonQuotedTextElement67() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement77() + return p.cur.onQuotedTextElement67() } -func (c *current) onSectionTitleElement79() (interface{}, error) { +func (c *current) onQuotedTextElement70() (bool, error) { - return strconv.Atoi(string(c.text)) + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonSectionTitleElement79() (interface{}, error) { +func (p *parser) callonQuotedTextElement70() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement79() + return p.cur.onQuotedTextElement70() } -func (c *current) onSectionTitleElement72(start interface{}) (interface{}, error) { - return start, nil - -} +func (c *current) onQuotedTextElement44() (interface{}, error) { -func (p *parser) callonSectionTitleElement72() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSectionTitleElement72(stack["start"]) -} + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil -func (c *current) onSectionTitleElement61(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSectionTitleElement61() (interface{}, error) { +func (p *parser) callonQuotedTextElement44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement61(stack["name"], stack["start"]) + return p.cur.onQuotedTextElement44() } -func (c *current) onSectionTitleElement87() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextElement72() (interface{}, error) { + //log.Debug("matched escaped apostrophe") + return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSectionTitleElement87() (interface{}, error) { +func (p *parser) callonQuotedTextElement72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement87() + return p.cur.onQuotedTextElement72() } -func (c *current) onSectionTitleElement99() (interface{}, error) { - return string(c.text), nil +func (c *current) onQuotedTextElement79() (bool, error) { + return c.isSubstitutionEnabled(Replacements) } -func (p *parser) callonSectionTitleElement99() (interface{}, error) { +func (p *parser) callonQuotedTextElement79() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement99() + return p.cur.onQuotedTextElement79() } -func (c *current) onSectionTitleElement101() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onQuotedTextElement80() (bool, error) { + //log.Debugf("TypographicQuote at pos %s", c.pos.String()) + return c.isPrecededByAlphanum(), nil } -func (p *parser) callonSectionTitleElement101() (interface{}, error) { +func (p *parser) callonQuotedTextElement80() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement101() + return p.cur.onQuotedTextElement80() } -func (c *current) onSectionTitleElement94(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onQuotedTextElement77() (interface{}, error) { + return types.NewSymbol("'") } -func (p *parser) callonSectionTitleElement94() (interface{}, error) { +func (p *parser) callonQuotedTextElement77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement94(stack["start"]) + return p.cur.onQuotedTextElement77() } -func (c *current) onSectionTitleElement83(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onQuotedTextElement86() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) + } -func (p *parser) callonSectionTitleElement83() (interface{}, error) { +func (p *parser) callonQuotedTextElement86() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement83(stack["name"], stack["start"]) + return p.cur.onQuotedTextElement86() } -func (c *current) onSectionTitleElement109() (interface{}, error) { +func (c *current) onQuotedTextElement93() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSectionTitleElement109() (interface{}, error) { +func (p *parser) callonQuotedTextElement93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement109() + return p.cur.onQuotedTextElement93() } -func (c *current) onSectionTitleElement105(name interface{}) (interface{}, error) { +func (c *current) onQuotedTextElement89(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -100941,1739 +72898,1763 @@ func (c *current) onSectionTitleElement105(name interface{}) (interface{}, error } -func (p *parser) callonSectionTitleElement105() (interface{}, error) { +func (p *parser) callonQuotedTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement105(stack["name"]) + return p.cur.onQuotedTextElement89(stack["name"]) } -func (c *current) onSectionTitleElement119() (interface{}, error) { +func (c *current) onQuotedTextElement103() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSectionTitleElement119() (interface{}, error) { +func (p *parser) callonQuotedTextElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement119() + return p.cur.onQuotedTextElement103() } -func (c *current) onSectionTitleElement115(name interface{}) (interface{}, error) { +func (c *current) onQuotedTextElement99(name interface{}) (interface{}, error) { return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonSectionTitleElement115() (interface{}, error) { +func (p *parser) callonQuotedTextElement99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement115(stack["name"]) + return p.cur.onQuotedTextElement99(stack["name"]) } -func (c *current) onSectionTitleElement56(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onQuotedTextElement113() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement56() (interface{}, error) { +func (p *parser) callonQuotedTextElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement56(stack["element"]) + return p.cur.onQuotedTextElement113() } -func (c *current) onSectionTitleElement125() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onQuotedTextElement125() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement125() (interface{}, error) { +func (p *parser) callonQuotedTextElement125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement125() + return p.cur.onQuotedTextElement125() } -func (c *current) onSectionTitleElement41(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onQuotedTextElement127() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSectionTitleElement41() (interface{}, error) { +func (p *parser) callonQuotedTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement41(stack["elements"]) + return p.cur.onQuotedTextElement127() } -func (c *current) onSectionTitleElement37(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onQuotedTextElement120(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSectionTitleElement37() (interface{}, error) { +func (p *parser) callonQuotedTextElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement37(stack["id"]) + return p.cur.onQuotedTextElement120(stack["start"]) } -func (c *current) onSectionTitleElement129() (interface{}, error) { - return string(c.text), nil - +func (c *current) onQuotedTextElement109(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSectionTitleElement129() (interface{}, error) { +func (p *parser) callonQuotedTextElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement129() + return p.cur.onQuotedTextElement109(stack["name"], stack["start"]) } -func (c *current) onSectionTitleElement133() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onQuotedTextElement135() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonSectionTitleElement133() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSectionTitleElement133() -} -func (c *current) onSectionTitleElement31(id interface{}) (interface{}, error) { - return id, nil } -func (p *parser) callonSectionTitleElement31() (interface{}, error) { +func (p *parser) callonQuotedTextElement135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement31(stack["id"]) + return p.cur.onQuotedTextElement135() } -func (c *current) onSectionTitleElement140() (interface{}, error) { +func (c *current) onQuotedTextElement147() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSectionTitleElement140() (interface{}, error) { +func (p *parser) callonQuotedTextElement147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement140() + return p.cur.onQuotedTextElement147() } -func (c *current) onSectionTitleElement147() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onQuotedTextElement149() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSectionTitleElement147() (bool, error) { +func (p *parser) callonQuotedTextElement149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement147() + return p.cur.onQuotedTextElement149() } -func (c *current) onSectionTitleElement154() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onQuotedTextElement142(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSectionTitleElement154() (interface{}, error) { +func (p *parser) callonQuotedTextElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement154() + return p.cur.onQuotedTextElement142(stack["start"]) } -func (c *current) onSectionTitleElement156() (interface{}, error) { - return types.NewSymbol("`\"") - +func (c *current) onQuotedTextElement131(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSectionTitleElement156() (interface{}, error) { +func (p *parser) callonQuotedTextElement131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement156() + return p.cur.onQuotedTextElement131(stack["name"], stack["start"]) } -func (c *current) onSectionTitleElement158() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onQuotedTextElement84(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSectionTitleElement158() (interface{}, error) { +func (p *parser) callonQuotedTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement158() + return p.cur.onQuotedTextElement84(stack["element"]) } -func (c *current) onSectionTitleElement160() (interface{}, error) { - return types.NewSymbol("`'") - +func (c *current) onQuotedTextElement155() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSectionTitleElement160() (interface{}, error) { +func (p *parser) callonQuotedTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement160() + return p.cur.onQuotedTextElement155() } -func (c *current) onSectionTitleElement162() (interface{}, error) { - return types.NewSymbol("(C)") - +func (c *current) onQuotedTextElement161() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonSectionTitleElement162() (interface{}, error) { +func (p *parser) callonQuotedTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement162() + return p.cur.onQuotedTextElement161() } -func (c *current) onSectionTitleElement164() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onQuotedTextElement153() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement164() (interface{}, error) { +func (p *parser) callonQuotedTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement164() + return p.cur.onQuotedTextElement153() } -func (c *current) onSectionTitleElement166() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onQuotedTextElement170() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters) } -func (p *parser) callonSectionTitleElement166() (interface{}, error) { +func (p *parser) callonQuotedTextElement170() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement166() + return p.cur.onQuotedTextElement170() } -func (c *current) onSectionTitleElement168() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onQuotedTextElement172() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSectionTitleElement168() (interface{}, error) { +func (p *parser) callonQuotedTextElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement168() + return p.cur.onQuotedTextElement172() } -func (c *current) onSectionTitleElement170() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onQuotedTextElement168(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSectionTitleElement170() (interface{}, error) { +func (p *parser) callonQuotedTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement170() + return p.cur.onQuotedTextElement168(stack["element"]) } -func (c *current) onSectionTitleElement175() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil - +func (c *current) onQuotedTextElement178() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement175() (bool, error) { +func (p *parser) callonQuotedTextElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement175() + return p.cur.onQuotedTextElement178() } -func (c *current) onSectionTitleElement177() (interface{}, error) { - return string(c.text), nil - +func (c *current) onQuotedTextElement174(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSectionTitleElement177() (interface{}, error) { +func (p *parser) callonQuotedTextElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement177() + return p.cur.onQuotedTextElement174(stack["ref"]) } -func (c *current) onSectionTitleElement181() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onQuotedTextElement182() (interface{}, error) { + + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("matching anychar '%s' at position %v", string(c.text), c.pos.String()) + } return string(c.text), nil + } -func (p *parser) callonSectionTitleElement181() (interface{}, error) { +func (p *parser) callonQuotedTextElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement181() + return p.cur.onQuotedTextElement182() } -func (c *current) onSectionTitleElement172() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement172() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement172() + return p.cur.onDoubleQuoteBoldText1(stack["elements"]) } -func (c *current) onSectionTitleElement191() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement191() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement191() + return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement195() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldText4() (bool, error) { + log.Debug("SingleQuoteBoldTextStartDelimiter") + return c.isSingleQuotedTextAllowed(), nil + } -func (p *parser) callonSectionTitleElement195() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldText4() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement195() + return p.cur.onSingleQuoteBoldText4() } -func (c *current) onSectionTitleElement188() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onSingleQuoteBoldText13(elements interface{}) (bool, error) { + log.Debug("SingleQuoteBoldTextEndDelimiter") + return !c.isPrecededBySpace(), nil } -func (p *parser) callonSectionTitleElement188() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldText13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement188() + return p.cur.onSingleQuoteBoldText13(stack["elements"]) } -func (c *current) onSectionTitleElement202() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement202() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement202() + return p.cur.onSingleQuoteBoldText1(stack["elements"]) } -func (c *current) onSectionTitleElement204() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onSingleQuoteBoldTextElements4() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonSectionTitleElement204() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement204() + return p.cur.onSingleQuoteBoldTextElements4() } -func (c *current) onSectionTitleElement206() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onSingleQuoteBoldTextElements9(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSectionTitleElement206() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements9() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement206() + return p.cur.onSingleQuoteBoldTextElements9(stack["elements"]) } -func (c *current) onSectionTitleElement150() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonSectionTitleElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement150() + return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) } -func (c *current) onSectionTitleElement208() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onSingleQuoteBoldTextElement10() (bool, error) { + log.Debug("SingleQuoteBoldTextEndDelimiter") + return !c.isPrecededBySpace(), nil } -func (p *parser) callonSectionTitleElement208() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement10() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement208() + return p.cur.onSingleQuoteBoldTextElement10() } -func (c *current) onSectionTitleElement210() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onSingleQuoteBoldTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement210() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement210() + return p.cur.onSingleQuoteBoldTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement212() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onEscapedBoldText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement212() (interface{}, error) { +func (p *parser) callonEscapedBoldText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement212() + return p.cur.onEscapedBoldText5() } -func (c *current) onSectionTitleElement214() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { + + return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) } -func (p *parser) callonSectionTitleElement214() (interface{}, error) { +func (p *parser) callonEscapedBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement214() + return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement216() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onEscapedBoldText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement216() (interface{}, error) { +func (p *parser) callonEscapedBoldText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement216() + return p.cur.onEscapedBoldText17() } -func (c *current) onSectionTitleElement218() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { + + result := append([]interface{}{"*"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "*", result) } -func (p *parser) callonSectionTitleElement218() (interface{}, error) { +func (p *parser) callonEscapedBoldText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement218() + return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement220() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onEscapedBoldText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement220() (interface{}, error) { +func (p *parser) callonEscapedBoldText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement220() + return p.cur.onEscapedBoldText27() } -func (c *current) onSectionTitleElement222() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { + + return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) } -func (p *parser) callonSectionTitleElement222() (interface{}, error) { +func (p *parser) callonEscapedBoldText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement222() + return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement227() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement227() (bool, error) { +func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement227() + return p.cur.onDoubleQuoteItalicText1(stack["elements"]) } -func (c *current) onSectionTitleElement229() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement229() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement229() + return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement233() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteItalicText4() (bool, error) { + log.Debug("SingleQuoteItalicTextStartDelimiter") + return c.isSingleQuotedTextAllowed(), nil + } -func (p *parser) callonSectionTitleElement233() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicText4() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement233() + return p.cur.onSingleQuoteItalicText4() } -func (c *current) onSectionTitleElement224() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onSingleQuoteItalicText13(elements interface{}) (bool, error) { + log.Debug("SingleQuoteItalicTextEndDelimiter") + return !c.isPrecededBySpace(), nil } -func (p *parser) callonSectionTitleElement224() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicText13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement224() + return p.cur.onSingleQuoteItalicText13(stack["elements"]) } -func (c *current) onSectionTitleElement243() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement243() (bool, error) { +func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement243() + return p.cur.onSingleQuoteItalicText1(stack["elements"]) } -func (c *current) onSectionTitleElement247() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuoteItalicTextElements4() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSectionTitleElement247() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement247() + return p.cur.onSingleQuoteItalicTextElements4() } -func (c *current) onSectionTitleElement240() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onSingleQuoteItalicTextElements9(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSectionTitleElement240() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements9() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement240() + return p.cur.onSingleQuoteItalicTextElements9(stack["elements"]) } -func (c *current) onSectionTitleElement254() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonSectionTitleElement254() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement254() + return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) } -func (c *current) onSectionTitleElement256() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onSingleQuoteItalicTextElement10() (bool, error) { + log.Debug("SingleQuoteItalicTextEndDelimiter") + return !c.isPrecededBySpace(), nil } -func (p *parser) callonSectionTitleElement256() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement10() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement256() + return p.cur.onSingleQuoteItalicTextElement10() } -func (c *current) onSectionTitleElement258() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onSingleQuoteItalicTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement258() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement258() + return p.cur.onSingleQuoteItalicTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement260() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onEscapedItalicText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement260() (interface{}, error) { +func (p *parser) callonEscapedItalicText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement260() + return p.cur.onEscapedItalicText5() } -func (c *current) onSectionTitleElement262() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) } -func (p *parser) callonSectionTitleElement262() (interface{}, error) { +func (p *parser) callonEscapedItalicText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement262() + return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement269() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onEscapedItalicText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement269() (bool, error) { +func (p *parser) callonEscapedItalicText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement269() + return p.cur.onEscapedItalicText17() } -func (c *current) onSectionTitleElement267() (interface{}, error) { - return types.NewSymbol("'") +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) callonSectionTitleElement267() (interface{}, error) { +func (p *parser) callonEscapedItalicText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement267() + return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement145(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedItalicText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement145() (interface{}, error) { +func (p *parser) callonEscapedItalicText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement145(stack["element"]) + return p.cur.onEscapedItalicText27() } -func (c *current) onSectionTitleElement275() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onEscapedItalicText24(backslashes, elements interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "_", elements.([]interface{})) } -func (p *parser) callonSectionTitleElement275() (bool, error) { +func (p *parser) callonEscapedItalicText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement275() + return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement284() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement284() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement284() + return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onSectionTitleElement288() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement288() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement288() + return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement294() (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) onSingleQuoteMonospaceTextEndDelimiter5() (bool, error) { + log.Debug("SingleQuoteMonospaceTextEndDelimiter") + return !c.isPrecededBySpace(), nil } -func (p *parser) callonSectionTitleElement294() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextEndDelimiter5() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement294() + return p.cur.onSingleQuoteMonospaceTextEndDelimiter5() } -func (c *current) onSectionTitleElement303() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceText4() (bool, error) { + log.Debug("SingleQuoteMonospaceTextStartDelimiter") + return c.isSingleQuotedTextAllowed(), nil } -func (p *parser) callonSectionTitleElement303() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceText4() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement303() + return p.cur.onSingleQuoteMonospaceText4() } -func (c *current) onSectionTitleElement299(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement299() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement299(stack["name"]) + return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onSectionTitleElement313() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElements4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement313() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement313() + return p.cur.onSingleQuoteMonospaceTextElements4() } -func (c *current) onSectionTitleElement309(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElements9(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSectionTitleElement309() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements9() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement309(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElements9(stack["elements"]) } -func (c *current) onSectionTitleElement319() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonSectionTitleElement319() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement319() + return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) } -func (c *current) onSectionTitleElement280(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSingleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement280() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement280(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMonospaceTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement326() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onEscapedMonospaceText5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSectionTitleElement326() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement326() + return p.cur.onEscapedMonospaceText5() } -func (c *current) onSectionTitleElement322(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) } -func (p *parser) callonSectionTitleElement322() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement322(stack["id"]) + return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement278() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onEscapedMonospaceText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement278() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement278() + return p.cur.onEscapedMonospaceText17() } -func (c *current) onSectionTitleElement330() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { + result := append([]interface{}{"`"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "`", result) } -func (p *parser) callonSectionTitleElement330() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement330() + return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement273(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedMonospaceText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement273() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement273(stack["element"]) + return p.cur.onEscapedMonospaceText27() } -func (c *current) onSectionTitleElement335() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) } -func (p *parser) callonSectionTitleElement335() (bool, error) { +func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement335() + return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement342() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement342() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement342() + return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) } -func (c *current) onSectionTitleElement354() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement354() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement354() + return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement356() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMarkedText4() (bool, error) { + log.Debug("SingleQuoteMarkedTextStartDelimiter") + return c.isSingleQuotedTextAllowed(), nil } -func (p *parser) callonSectionTitleElement356() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedText4() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement356() + return p.cur.onSingleQuoteMarkedText4() } -func (c *current) onSectionTitleElement349(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMarkedText13(elements interface{}) (bool, error) { + log.Debug("SingleQuoteMarkedTextEndDelimiter") + return !c.isPrecededBySpace(), nil } -func (p *parser) callonSectionTitleElement349() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedText13() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement349(stack["start"]) -} - -func (c *current) onSectionTitleElement338(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) + return p.cur.onSingleQuoteMarkedText13(stack["elements"]) } -func (p *parser) callonSectionTitleElement338() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSectionTitleElement338(stack["name"], stack["start"]) -} +func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { -func (c *current) onSectionTitleElement364() (interface{}, error) { - return string(c.text), nil + return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonSectionTitleElement364() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement364() + return p.cur.onSingleQuoteMarkedText1(stack["elements"]) } -func (c *current) onSectionTitleElement376() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElements4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement376() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement376() + return p.cur.onSingleQuoteMarkedTextElements4() } -func (c *current) onSectionTitleElement378() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElements9(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSectionTitleElement378() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements9() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement378() + return p.cur.onSingleQuoteMarkedTextElements9(stack["elements"]) } -func (c *current) onSectionTitleElement371(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonSectionTitleElement371() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement371(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) } -func (c *current) onSectionTitleElement360(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement10() (bool, error) { + log.Debug("SingleQuoteMarkedTextEndDelimiter") + return !c.isPrecededBySpace(), nil + } -func (p *parser) callonSectionTitleElement360() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement10() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement360(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement10() } -func (c *current) onSectionTitleElement386() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonSectionTitleElement386() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement386() + return p.cur.onSingleQuoteMarkedTextElement1(stack["element"]) } -func (c *current) onSectionTitleElement382(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onEscapedMarkedText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement382() (interface{}, error) { +func (p *parser) callonEscapedMarkedText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement382(stack["name"]) + return p.cur.onEscapedMarkedText5() } -func (c *current) onSectionTitleElement396() (interface{}, error) { - return string(c.text), nil +func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) } -func (p *parser) callonSectionTitleElement396() (interface{}, error) { +func (p *parser) callonEscapedMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement396() + return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement392(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onEscapedMarkedText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSectionTitleElement392() (interface{}, error) { +func (p *parser) callonEscapedMarkedText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement392(stack["name"]) + return p.cur.onEscapedMarkedText17() } -func (c *current) onSectionTitleElement333(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { + result := append([]interface{}{"#"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "#", result) } -func (p *parser) callonSectionTitleElement333() (interface{}, error) { +func (p *parser) callonEscapedMarkedText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement333(stack["element"]) + return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement406() (interface{}, error) { +func (c *current) onEscapedMarkedText27() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonSectionTitleElement406() (interface{}, error) { +func (p *parser) callonEscapedMarkedText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement406() + return p.cur.onEscapedMarkedText27() } -func (c *current) onSectionTitleElement402(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) + } -func (p *parser) callonSectionTitleElement402() (interface{}, error) { +func (p *parser) callonEscapedMarkedText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement402(stack["ref"]) + return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) } -func (c *current) onSectionTitleElement414() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSubscript, element) } -func (p *parser) callonSectionTitleElement414() (interface{}, error) { +func (p *parser) callonSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement414() + return p.cur.onSubscriptText1(stack["element"]) } -func (c *current) onSectionTitleElement410(id interface{}) (interface{}, error) { - //return types.NewStringElement("[[" + id.(string) + "]]") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSubscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '~' + return c.text, nil } -func (p *parser) callonSectionTitleElement410() (interface{}, error) { +func (p *parser) callonSubscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement410(stack["id"]) + return p.cur.onSubscriptTextElement3() } -func (c *current) onSectionTitleElement422() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onEscapedSubscriptText4() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSectionTitleElement422() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement422() + return p.cur.onEscapedSubscriptText4() } -func (c *current) onSectionTitleElement418(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) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "~", element) } -func (p *parser) callonSectionTitleElement418() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement418(stack["id"]) + return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onSectionTitleElement427() (interface{}, error) { - - return string(c.text), nil +func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSuperscript, element) } -func (p *parser) callonSectionTitleElement427() (interface{}, error) { +func (p *parser) callonSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement427() + return p.cur.onSuperscriptText1(stack["element"]) } -func (c *current) onSectionTitleElement1(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil +func (c *current) onSuperscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '^' + return c.text, nil } -func (p *parser) callonSectionTitleElement1() (interface{}, error) { +func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSectionTitleElement1(stack["element"]) + return p.cur.onSuperscriptTextElement3() } -func (c *current) onNormalGroup19() (interface{}, error) { +func (c *current) onEscapedSuperscriptText4() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroup19() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup19() + return p.cur.onEscapedSuperscriptText4() } -func (c *current) onNormalGroup22() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "^", element) + } -func (p *parser) callonNormalGroup22() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup22() + return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onNormalGroup12() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSection3() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil } -func (p *parser) callonNormalGroup12() (interface{}, error) { +func (p *parser) callonSection3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup12() + return p.cur.onSection3() } -func (c *current) onNormalGroup29() (interface{}, error) { - return string(c.text), nil +func (c *current) onSection5() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil } -func (p *parser) callonNormalGroup29() (interface{}, error) { +func (p *parser) callonSection5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup29() + return p.cur.onSection5() } -func (c *current) onNormalGroup31() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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 (p *parser) callonNormalGroup31() (interface{}, error) { +func (p *parser) callonSection8() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup31() + return p.cur.onSection8(stack["level"]) } -func (c *current) onNormalGroup42() (interface{}, error) { +func (c *current) onSection9(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonNormalGroup42() (interface{}, error) { +func (p *parser) callonSection9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup42() + return p.cur.onSection9(stack["level"]) } -func (c *current) onNormalGroup38(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSection15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonNormalGroup38() (interface{}, error) { +func (p *parser) callonSection15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup38(stack["ref"]) + return p.cur.onSection15() } -func (c *current) onNormalGroup48() (bool, error) { - return c.isSubstitutionEnabled(Replacements), nil +func (c *current) onSection1(level, title interface{}) (interface{}, error) { + return types.NewSection(level.(int), title.([]interface{})) } -func (p *parser) callonNormalGroup48() (bool, error) { +func (p *parser) callonSection1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup48() + return p.cur.onSection1(stack["level"], stack["title"]) } -func (c *current) onNormalGroup55() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onSectionTitle3() error { + // enable substitutions + c.withSubstitutions(headerSubstitutions()) + return nil } -func (p *parser) callonNormalGroup55() (interface{}, error) { +func (p *parser) callonSectionTitle3() error { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup55() + return p.cur.onSectionTitle3() } -func (c *current) onNormalGroup57() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onSectionTitle1(elements interface{}) (interface{}, error) { + + return types.NewInlineElements(elements) } -func (p *parser) callonNormalGroup57() (interface{}, error) { +func (p *parser) callonSectionTitle1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup57() + return p.cur.onSectionTitle1(stack["elements"]) } -func (c *current) onNormalGroup59() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onSectionTitleElement5() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonNormalGroup59() (interface{}, error) { +func (p *parser) callonSectionTitleElement5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup59() + return p.cur.onSectionTitleElement5() } -func (c *current) onNormalGroup61() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSectionTitleElement19() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonNormalGroup61() (interface{}, error) { +func (p *parser) callonSectionTitleElement19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup61() + return p.cur.onSectionTitleElement19() } -func (c *current) onNormalGroup63() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSectionTitleElement21() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonNormalGroup63() (interface{}, error) { +func (p *parser) callonSectionTitleElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup63() + return p.cur.onSectionTitleElement21() } -func (c *current) onNormalGroup65() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSectionTitleElement27() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonNormalGroup65() (interface{}, error) { +func (p *parser) callonSectionTitleElement27() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup65() + return p.cur.onSectionTitleElement27() } -func (c *current) onNormalGroup67() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onSectionTitleElement35() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonNormalGroup67() (interface{}, error) { +func (p *parser) callonSectionTitleElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup67() + return p.cur.onSectionTitleElement35() } -func (c *current) onNormalGroup69() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onSectionTitleElement37() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonNormalGroup69() (interface{}, error) { +func (p *parser) callonSectionTitleElement37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup69() + return p.cur.onSectionTitleElement37() } -func (c *current) onNormalGroup71() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onSectionTitleElement14() (interface{}, error) { + log.Debugf("new inlineword: '%v'", string(c.text)) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroup71() (interface{}, error) { +func (p *parser) callonSectionTitleElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup71() + return p.cur.onSectionTitleElement14() } -func (c *current) onNormalGroup76() (bool, error) { - log.Debug("Mdash (a)") +func (c *current) onSectionTitleElement48() (bool, error) { return c.isPrecededBySpace(), nil } -func (p *parser) callonNormalGroup76() (bool, error) { +func (p *parser) callonSectionTitleElement48() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup76() + return p.cur.onSectionTitleElement48() } -func (c *current) onNormalGroup78() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement58() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroup78() (interface{}, error) { +func (p *parser) callonSectionTitleElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup78() + return p.cur.onSectionTitleElement58() } -func (c *current) onNormalGroup82() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSectionTitleElement65() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroup82() (interface{}, error) { +func (p *parser) callonSectionTitleElement65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup82() + return p.cur.onSectionTitleElement65() } -func (c *current) onNormalGroup73() (interface{}, error) { - return types.NewSymbol(" -- ") - +func (c *current) onSectionTitleElement61(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonNormalGroup73() (interface{}, error) { +func (p *parser) callonSectionTitleElement61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup73() + return p.cur.onSectionTitleElement61(stack["ref"]) } -func (c *current) onNormalGroup92() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onSectionTitleElement71() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonNormalGroup92() (bool, error) { +func (p *parser) callonSectionTitleElement71() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup92() + return p.cur.onSectionTitleElement71() } -func (c *current) onNormalGroup96() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSectionTitleElement78() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonNormalGroup96() (interface{}, error) { +func (p *parser) callonSectionTitleElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup96() + return p.cur.onSectionTitleElement78() } -func (c *current) onNormalGroup89() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onSectionTitleElement74(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) callonNormalGroup89() (interface{}, error) { +func (p *parser) callonSectionTitleElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup89() + return p.cur.onSectionTitleElement74(stack["name"]) } -func (c *current) onNormalGroup103() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onSectionTitleElement88() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup103() (interface{}, error) { +func (p *parser) callonSectionTitleElement88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup103() + return p.cur.onSectionTitleElement88() } -func (c *current) onNormalGroup105() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onSectionTitleElement84(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonNormalGroup105() (interface{}, error) { +func (p *parser) callonSectionTitleElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup105() + return p.cur.onSectionTitleElement84(stack["name"]) } -func (c *current) onNormalGroup107() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onSectionTitleElement98() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup107() (interface{}, error) { +func (p *parser) callonSectionTitleElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup107() + return p.cur.onSectionTitleElement98() } -func (c *current) onNormalGroup51() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSectionTitleElement110() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup51() (interface{}, error) { +func (p *parser) callonSectionTitleElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup51() + return p.cur.onSectionTitleElement110() } -func (c *current) onNormalGroup109() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onSectionTitleElement112() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonNormalGroup109() (interface{}, error) { +func (p *parser) callonSectionTitleElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup109() + return p.cur.onSectionTitleElement112() } -func (c *current) onNormalGroup111() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onSectionTitleElement105(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonNormalGroup111() (interface{}, error) { +func (p *parser) callonSectionTitleElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup111() + return p.cur.onSectionTitleElement105(stack["start"]) } -func (c *current) onNormalGroup113() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onSectionTitleElement94(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonNormalGroup113() (interface{}, error) { +func (p *parser) callonSectionTitleElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup113() + return p.cur.onSectionTitleElement94(stack["name"], stack["start"]) } -func (c *current) onNormalGroup115() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSectionTitleElement120() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup115() (interface{}, error) { +func (p *parser) callonSectionTitleElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup115() + return p.cur.onSectionTitleElement120() } -func (c *current) onNormalGroup117() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSectionTitleElement132() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup117() (interface{}, error) { +func (p *parser) callonSectionTitleElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup117() + return p.cur.onSectionTitleElement132() } -func (c *current) onNormalGroup119() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSectionTitleElement134() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonNormalGroup119() (interface{}, error) { +func (p *parser) callonSectionTitleElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup119() + return p.cur.onSectionTitleElement134() } -func (c *current) onNormalGroup121() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onSectionTitleElement127(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonNormalGroup121() (interface{}, error) { +func (p *parser) callonSectionTitleElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup121() + return p.cur.onSectionTitleElement127(stack["start"]) } -func (c *current) onNormalGroup123() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onSectionTitleElement116(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonNormalGroup123() (interface{}, error) { +func (p *parser) callonSectionTitleElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup123() + return p.cur.onSectionTitleElement116(stack["name"], stack["start"]) } -func (c *current) onNormalGroup128() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onSectionTitleElement69(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNormalGroup128() (bool, error) { +func (p *parser) callonSectionTitleElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup128() + return p.cur.onSectionTitleElement69(stack["element"]) } -func (c *current) onNormalGroup130() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement138() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroup130() (interface{}, error) { +func (p *parser) callonSectionTitleElement138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup130() + return p.cur.onSectionTitleElement138() } -func (c *current) onNormalGroup134() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSectionTitleElement54(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + } -func (p *parser) callonNormalGroup134() (interface{}, error) { +func (p *parser) callonSectionTitleElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup134() + return p.cur.onSectionTitleElement54(stack["elements"]) } -func (c *current) onNormalGroup125() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onSectionTitleElement50(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonNormalGroup125() (interface{}, error) { +func (p *parser) callonSectionTitleElement50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup125() + return p.cur.onSectionTitleElement50(stack["id"]) } -func (c *current) onNormalGroup144() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onSectionTitleElement142() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonNormalGroup144() (bool, error) { +func (p *parser) callonSectionTitleElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup144() + return p.cur.onSectionTitleElement142() } -func (c *current) onNormalGroup148() (interface{}, error) { +func (c *current) onSectionTitleElement146() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonNormalGroup148() (interface{}, error) { +func (p *parser) callonSectionTitleElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup148() + return p.cur.onSectionTitleElement146() } -func (c *current) onNormalGroup141() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onSectionTitleElement46(id interface{}) (interface{}, error) { + + return id, nil } -func (p *parser) callonNormalGroup141() (interface{}, error) { +func (p *parser) callonSectionTitleElement46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup141() + return p.cur.onSectionTitleElement46(stack["id"]) } -func (c *current) onNormalGroup155() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onSectionTitleElement153() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonNormalGroup155() (interface{}, error) { +func (p *parser) callonSectionTitleElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup155() + return p.cur.onSectionTitleElement153() } -func (c *current) onNormalGroup157() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onSectionTitleElement155() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonNormalGroup157() (interface{}, error) { +func (p *parser) callonSectionTitleElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup157() + return p.cur.onSectionTitleElement155() } -func (c *current) onNormalGroup159() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onSectionTitleElement161() (interface{}, error) { + //log.Debug("matched escaped apostrophe") + return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonNormalGroup159() (interface{}, error) { +func (p *parser) callonSectionTitleElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup159() + return p.cur.onSectionTitleElement161() } -func (c *current) onNormalGroup161() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onSectionTitleElement168() (bool, error) { + return c.isSubstitutionEnabled(Replacements) } -func (p *parser) callonNormalGroup161() (interface{}, error) { +func (p *parser) callonSectionTitleElement168() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup161() + return p.cur.onSectionTitleElement168() } -func (c *current) onNormalGroup163() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onSectionTitleElement169() (bool, error) { + //log.Debugf("TypographicQuote at pos %s", c.pos.String()) + return c.isPrecededByAlphanum(), nil } -func (p *parser) callonNormalGroup163() (interface{}, error) { +func (p *parser) callonSectionTitleElement169() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup163() + return p.cur.onSectionTitleElement169() } -func (c *current) onNormalGroup170() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onSectionTitleElement166() (interface{}, error) { + return types.NewSymbol("'") } -func (p *parser) callonNormalGroup170() (bool, error) { +func (p *parser) callonSectionTitleElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup170() + return p.cur.onSectionTitleElement166() } -func (c *current) onNormalGroup168() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onSectionTitleElement181() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonNormalGroup168() (interface{}, error) { +func (p *parser) callonSectionTitleElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup168() + return p.cur.onSectionTitleElement181() } -func (c *current) onNormalGroup46(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onSectionTitleElement183() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonNormalGroup46() (interface{}, error) { +func (p *parser) callonSectionTitleElement183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup46(stack["element"]) + return p.cur.onSectionTitleElement183() } -func (c *current) onNormalGroup176() (bool, error) { +func (c *current) onSectionTitleElement191() (bool, error) { - return c.isSubstitutionEnabled(PostReplacements), nil + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonNormalGroup176() (bool, error) { +func (p *parser) callonSectionTitleElement191() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup176() + return p.cur.onSectionTitleElement191() } -func (c *current) onNormalGroup178() (bool, error) { +func (c *current) onSectionTitleElement194() (bool, error) { - log.Debug("LineBreak") - return c.isPrecededBySpace(), nil + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonNormalGroup178() (bool, error) { +func (p *parser) callonSectionTitleElement194() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup178() + return p.cur.onSectionTitleElement194() } -func (c *current) onNormalGroup180() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement197() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonNormalGroup180() (interface{}, error) { +func (p *parser) callonSectionTitleElement197() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup180() + return p.cur.onSectionTitleElement197() } -func (c *current) onNormalGroup184() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSectionTitleElement200() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled + } -func (p *parser) callonNormalGroup184() (interface{}, error) { +func (p *parser) callonSectionTitleElement200() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup184() + return p.cur.onSectionTitleElement200() } -func (c *current) onNormalGroup174() (interface{}, error) { - return types.NewLineBreak() +func (c *current) onSectionTitleElement174() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil } -func (p *parser) callonNormalGroup174() (interface{}, error) { +func (p *parser) callonSectionTitleElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup174() + return p.cur.onSectionTitleElement174() } -func (c *current) onNormalGroup195() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onSectionTitleElement207() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters) } -func (p *parser) callonNormalGroup195() (bool, error) { +func (p *parser) callonSectionTitleElement207() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup195() + return p.cur.onSectionTitleElement207() } -func (c *current) onNormalGroup204() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSectionTitleElement209() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonNormalGroup204() (interface{}, error) { +func (p *parser) callonSectionTitleElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup204() + return p.cur.onSectionTitleElement209() } -func (c *current) onNormalGroup208() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement205(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNormalGroup208() (interface{}, error) { +func (p *parser) callonSectionTitleElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup208() + return p.cur.onSectionTitleElement205(stack["element"]) } -func (c *current) onNormalGroup214() (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) onSectionTitleElement214() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonNormalGroup214() (interface{}, error) { +func (p *parser) callonSectionTitleElement214() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup214() + return p.cur.onSectionTitleElement214() } -func (c *current) onNormalGroup223() (interface{}, error) { +func (c *current) onSectionTitleElement221() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroup223() (interface{}, error) { +func (p *parser) callonSectionTitleElement221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup223() + return p.cur.onSectionTitleElement221() } -func (c *current) onNormalGroup219(name interface{}) (interface{}, error) { +func (c *current) onSectionTitleElement217(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -102681,1056 +74662,1077 @@ func (c *current) onNormalGroup219(name interface{}) (interface{}, error) { } -func (p *parser) callonNormalGroup219() (interface{}, error) { +func (p *parser) callonSectionTitleElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup219(stack["name"]) + return p.cur.onSectionTitleElement217(stack["name"]) } -func (c *current) onNormalGroup233() (interface{}, error) { +func (c *current) onSectionTitleElement231() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroup233() (interface{}, error) { +func (p *parser) callonSectionTitleElement231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup233() + return p.cur.onSectionTitleElement231() } -func (c *current) onNormalGroup229(name interface{}) (interface{}, error) { +func (c *current) onSectionTitleElement227(name interface{}) (interface{}, error) { return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonNormalGroup229() (interface{}, error) { +func (p *parser) callonSectionTitleElement227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup229(stack["name"]) + return p.cur.onSectionTitleElement227(stack["name"]) } -func (c *current) onNormalGroup239() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement241() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup239() (interface{}, error) { +func (p *parser) callonSectionTitleElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup239() + return p.cur.onSectionTitleElement241() } -func (c *current) onNormalGroup200(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSectionTitleElement253() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup200() (interface{}, error) { +func (p *parser) callonSectionTitleElement253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup200(stack["id"], stack["label"]) + return p.cur.onSectionTitleElement253() } -func (c *current) onNormalGroup246() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSectionTitleElement255() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonNormalGroup246() (interface{}, error) { +func (p *parser) callonSectionTitleElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup246() + return p.cur.onSectionTitleElement255() } -func (c *current) onNormalGroup242(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSectionTitleElement248(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonNormalGroup242() (interface{}, error) { +func (p *parser) callonSectionTitleElement248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup242(stack["id"]) + return p.cur.onSectionTitleElement248(stack["start"]) } -func (c *current) onNormalGroup198() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onSectionTitleElement237(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonNormalGroup198() (interface{}, error) { +func (p *parser) callonSectionTitleElement237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup198() + return p.cur.onSectionTitleElement237(stack["name"], stack["start"]) } -func (c *current) onNormalGroup250() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onSectionTitleElement263() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup250() (interface{}, error) { +func (p *parser) callonSectionTitleElement263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup250() + return p.cur.onSectionTitleElement263() } -func (c *current) onNormalGroup193(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSectionTitleElement275() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup193() (interface{}, error) { +func (p *parser) callonSectionTitleElement275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup193(stack["element"]) + return p.cur.onSectionTitleElement275() } -func (c *current) onNormalGroup254() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onSectionTitleElement277() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonNormalGroup254() (bool, error) { +func (p *parser) callonSectionTitleElement277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup254() + return p.cur.onSectionTitleElement277() } -func (c *current) onNormalGroup261() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement270(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonNormalGroup261() (interface{}, error) { +func (p *parser) callonSectionTitleElement270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup261() + return p.cur.onSectionTitleElement270(stack["start"]) } -func (c *current) onNormalGroup273() (interface{}, error) { - return string(c.text), nil - +func (c *current) onSectionTitleElement259(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonNormalGroup273() (interface{}, error) { +func (p *parser) callonSectionTitleElement259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup273() + return p.cur.onSectionTitleElement259(stack["name"], stack["start"]) } -func (c *current) onNormalGroup275() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSectionTitleElement212(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonNormalGroup275() (interface{}, error) { +func (p *parser) callonSectionTitleElement212() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup275() + return p.cur.onSectionTitleElement212(stack["element"]) } -func (c *current) onNormalGroup268(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onSectionTitleElement285() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup268() (interface{}, error) { +func (p *parser) callonSectionTitleElement285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup268(stack["start"]) + return p.cur.onSectionTitleElement285() } -func (c *current) onNormalGroup257(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSectionTitleElement281(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonNormalGroup257() (interface{}, error) { +func (p *parser) callonSectionTitleElement281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup257(stack["name"], stack["start"]) + return p.cur.onSectionTitleElement281(stack["ref"]) } -func (c *current) onNormalGroup283() (interface{}, error) { +func (c *current) onSectionTitleElement293() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonNormalGroup283() (interface{}, error) { +func (p *parser) callonSectionTitleElement293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup283() + return p.cur.onSectionTitleElement293() } -func (c *current) onNormalGroup295() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement289(id interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonNormalGroup295() (interface{}, error) { +func (p *parser) callonSectionTitleElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup295() + return p.cur.onSectionTitleElement289(stack["id"]) } -func (c *current) onNormalGroup297() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSectionTitleElement301() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonNormalGroup297() (interface{}, error) { +func (p *parser) callonSectionTitleElement301() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup297() + return p.cur.onSectionTitleElement301() } -func (c *current) onNormalGroup290(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSectionTitleElement297(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) callonNormalGroup290() (interface{}, error) { +func (p *parser) callonSectionTitleElement297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup290(stack["start"]) -} - -func (c *current) onNormalGroup279(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) + return p.cur.onSectionTitleElement297(stack["id"]) } -func (p *parser) callonNormalGroup279() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onNormalGroup279(stack["name"], stack["start"]) -} +func (c *current) onSectionTitleElement306() (interface{}, error) { -func (c *current) onNormalGroup305() (interface{}, error) { + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("matching anychar '%s' at position %v", string(c.text), c.pos.String()) + } return string(c.text), nil } -func (p *parser) callonNormalGroup305() (interface{}, error) { +func (p *parser) callonSectionTitleElement306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup305() + return p.cur.onSectionTitleElement306() } -func (c *current) onNormalGroup301(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) onSectionTitleElement1(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonNormalGroup301() (interface{}, error) { +func (p *parser) callonSectionTitleElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup301(stack["name"]) + return p.cur.onSectionTitleElement1(stack["element"]) } -func (c *current) onNormalGroup315() (interface{}, error) { +func (c *current) onNormalGroup16() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonNormalGroup315() (interface{}, error) { +func (p *parser) callonNormalGroup16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup315() + return p.cur.onNormalGroup16() } -func (c *current) onNormalGroup311(name interface{}) (interface{}, error) { - - return types.NewAttributeReference(name.(string), string(c.text)) +func (c *current) onNormalGroup18() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonNormalGroup311() (interface{}, error) { +func (p *parser) callonNormalGroup18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup311(stack["name"]) + return p.cur.onNormalGroup18() } -func (c *current) onNormalGroup252(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onNormalGroup24() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonNormalGroup252() (interface{}, error) { +func (p *parser) callonNormalGroup24() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup252(stack["element"]) + return p.cur.onNormalGroup24() } -func (c *current) onNormalGroup321() (interface{}, error) { +func (c *current) onNormalGroup32() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNormalGroup321() (interface{}, error) { +func (p *parser) callonNormalGroup32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup321() + return p.cur.onNormalGroup32() } -func (c *current) onNormalGroup5(element interface{}) (interface{}, error) { - c.trackElement(element) - return element, nil - +func (c *current) onNormalGroup34() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonNormalGroup5() (interface{}, error) { +func (p *parser) callonNormalGroup34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup5(stack["element"]) + return p.cur.onNormalGroup34() } -func (c *current) onNormalGroup1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements) +func (c *current) onNormalGroup11() (interface{}, error) { + log.Debugf("new inlineword: '%v'", string(c.text)) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonNormalGroup1() (interface{}, error) { +func (p *parser) callonNormalGroup11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNormalGroup1(stack["elements"]) + return p.cur.onNormalGroup11() } -func (c *current) onAttributeStructuredValue1(elements interface{}) (interface{}, error) { +func (c *current) onNormalGroup51() (interface{}, error) { - return types.NewInlineElements(elements) + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValue1() (interface{}, error) { +func (p *parser) callonNormalGroup51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValue1(stack["elements"]) + return p.cur.onNormalGroup51() } -func (c *current) onAttributeStructuredValueElement15() (interface{}, error) { +func (c *current) onNormalGroup53() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeStructuredValueElement15() (interface{}, error) { +func (p *parser) callonNormalGroup53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement15() + return p.cur.onNormalGroup53() } -func (c *current) onAttributeStructuredValueElement18() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onNormalGroup61() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled + } -func (p *parser) callonAttributeStructuredValueElement18() (interface{}, error) { +func (p *parser) callonNormalGroup61() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement18() + return p.cur.onNormalGroup61() } -func (c *current) onAttributeStructuredValueElement8() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onNormalGroup64() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonAttributeStructuredValueElement8() (interface{}, error) { +func (p *parser) callonNormalGroup64() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement8() + return p.cur.onNormalGroup64() } -func (c *current) onAttributeStructuredValueElement25() (interface{}, error) { - return string(c.text), nil +func (c *current) onNormalGroup67() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonAttributeStructuredValueElement25() (interface{}, error) { +func (p *parser) callonNormalGroup67() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement25() + return p.cur.onNormalGroup67() } -func (c *current) onAttributeStructuredValueElement31() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onNormalGroup70() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonAttributeStructuredValueElement31() (bool, error) { +func (p *parser) callonNormalGroup70() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement31() + return p.cur.onNormalGroup70() } -func (c *current) onAttributeStructuredValueElement40() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onNormalGroup44() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement40() (interface{}, error) { +func (p *parser) callonNormalGroup44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement40() + return p.cur.onNormalGroup44() } -func (c *current) onAttributeStructuredValueElement44() (interface{}, error) { +func (c *current) onNormalGroup72() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement44() (interface{}, error) { +func (p *parser) callonNormalGroup72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement44() + return p.cur.onNormalGroup72() } -func (c *current) onAttributeStructuredValueElement50() (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) onNormalGroup74() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement50() (interface{}, error) { +func (p *parser) callonNormalGroup74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement50() + return p.cur.onNormalGroup74() } -func (c *current) onAttributeStructuredValueElement59() (interface{}, error) { +func (c *current) onNormalGroup80() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeStructuredValueElement59() (interface{}, error) { +func (p *parser) callonNormalGroup80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement59() + return p.cur.onNormalGroup80() } -func (c *current) onAttributeStructuredValueElement55(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) onNormalGroup87() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) } -func (p *parser) callonAttributeStructuredValueElement55() (interface{}, error) { +func (p *parser) callonNormalGroup87() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement55(stack["name"]) + return p.cur.onNormalGroup87() } -func (c *current) onAttributeStructuredValueElement69() (interface{}, error) { +func (c *current) onNormalGroup94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement69() (interface{}, error) { +func (p *parser) callonNormalGroup94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement69() + return p.cur.onNormalGroup94() } -func (c *current) onAttributeStructuredValueElement65(name interface{}) (interface{}, error) { +func (c *current) onNormalGroup90(name interface{}) (interface{}, error) { - return types.NewAttributeReference(name.(string), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonAttributeStructuredValueElement65() (interface{}, error) { +func (p *parser) callonNormalGroup90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement65(stack["name"]) + return p.cur.onNormalGroup90(stack["name"]) } -func (c *current) onAttributeStructuredValueElement75() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onNormalGroup104() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement75() (interface{}, error) { +func (p *parser) callonNormalGroup104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement75() + return p.cur.onNormalGroup104() } -func (c *current) onAttributeStructuredValueElement36(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onNormalGroup100(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) } -func (p *parser) callonAttributeStructuredValueElement36() (interface{}, error) { +func (p *parser) callonNormalGroup100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement36(stack["id"], stack["label"]) + return p.cur.onNormalGroup100(stack["name"]) } -func (c *current) onAttributeStructuredValueElement82() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onNormalGroup114() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement82() (interface{}, error) { +func (p *parser) callonNormalGroup114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement82() + return p.cur.onNormalGroup114() } -func (c *current) onAttributeStructuredValueElement78(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onNormalGroup126() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement78() (interface{}, error) { +func (p *parser) callonNormalGroup126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement78(stack["id"]) + return p.cur.onNormalGroup126() } -func (c *current) onAttributeStructuredValueElement34() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onNormalGroup128() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributeStructuredValueElement34() (interface{}, error) { +func (p *parser) callonNormalGroup128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement34() + return p.cur.onNormalGroup128() } -func (c *current) onAttributeStructuredValueElement86() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onNormalGroup121(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonAttributeStructuredValueElement86() (interface{}, error) { +func (p *parser) callonNormalGroup121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement86() + return p.cur.onNormalGroup121(stack["start"]) } -func (c *current) onAttributeStructuredValueElement29(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onNormalGroup110(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonAttributeStructuredValueElement29() (interface{}, error) { +func (p *parser) callonNormalGroup110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement29(stack["element"]) + return p.cur.onNormalGroup110(stack["name"], stack["start"]) } -func (c *current) onAttributeStructuredValueElement92() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onNormalGroup136() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement92() (interface{}, error) { +func (p *parser) callonNormalGroup136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement92() + return p.cur.onNormalGroup136() } -func (c *current) onAttributeStructuredValueElement94() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onNormalGroup148() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement94() (interface{}, error) { +func (p *parser) callonNormalGroup148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement94() + return p.cur.onNormalGroup148() } -func (c *current) onAttributeStructuredValueElement96() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onNormalGroup150() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributeStructuredValueElement96() (interface{}, error) { +func (p *parser) callonNormalGroup150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement96() + return p.cur.onNormalGroup150() } -func (c *current) onAttributeStructuredValueElement98() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onNormalGroup143(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonAttributeStructuredValueElement98() (interface{}, error) { +func (p *parser) callonNormalGroup143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement98() + return p.cur.onNormalGroup143(stack["start"]) } -func (c *current) onAttributeStructuredValueElement100() (interface{}, error) { - return types.NewSymbol("(C)") - +func (c *current) onNormalGroup132(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonAttributeStructuredValueElement100() (interface{}, error) { +func (p *parser) callonNormalGroup132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement100() + return p.cur.onNormalGroup132(stack["name"], stack["start"]) } -func (c *current) onAttributeStructuredValueElement102() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onNormalGroup85(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonAttributeStructuredValueElement102() (interface{}, error) { +func (p *parser) callonNormalGroup85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement102() + return p.cur.onNormalGroup85(stack["element"]) } -func (c *current) onAttributeStructuredValueElement104() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onNormalGroup154() (interface{}, error) { + //log.Debug("matched escaped apostrophe") + return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonAttributeStructuredValueElement104() (interface{}, error) { +func (p *parser) callonNormalGroup154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement104() + return p.cur.onNormalGroup154() } -func (c *current) onAttributeStructuredValueElement106() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onNormalGroup161() (bool, error) { + return c.isSubstitutionEnabled(Replacements) } -func (p *parser) callonAttributeStructuredValueElement106() (interface{}, error) { +func (p *parser) callonNormalGroup161() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement106() + return p.cur.onNormalGroup161() } -func (c *current) onAttributeStructuredValueElement108() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onNormalGroup162() (bool, error) { + //log.Debugf("TypographicQuote at pos %s", c.pos.String()) + return c.isPrecededByAlphanum(), nil } -func (p *parser) callonAttributeStructuredValueElement108() (interface{}, error) { +func (p *parser) callonNormalGroup162() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement108() + return p.cur.onNormalGroup162() } -func (c *current) onAttributeStructuredValueElement113() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil +func (c *current) onNormalGroup159() (interface{}, error) { + return types.NewSymbol("'") } -func (p *parser) callonAttributeStructuredValueElement113() (bool, error) { +func (p *parser) callonNormalGroup159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement113() + return p.cur.onNormalGroup159() } -func (c *current) onAttributeStructuredValueElement115() (interface{}, error) { - return string(c.text), nil +func (c *current) onNormalGroup171() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters) } -func (p *parser) callonAttributeStructuredValueElement115() (interface{}, error) { +func (p *parser) callonNormalGroup171() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement115() + return p.cur.onNormalGroup171() } -func (c *current) onAttributeStructuredValueElement119() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onNormalGroup173() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + } -func (p *parser) callonAttributeStructuredValueElement119() (interface{}, error) { +func (p *parser) callonNormalGroup173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement119() + return p.cur.onNormalGroup173() } -func (c *current) onAttributeStructuredValueElement110() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onNormalGroup169(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonAttributeStructuredValueElement110() (interface{}, error) { +func (p *parser) callonNormalGroup169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement110() + return p.cur.onNormalGroup169(stack["element"]) } -func (c *current) onAttributeStructuredValueElement129() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onNormalGroup177() (bool, error) { + + return c.isSubstitutionEnabled(PostReplacements) } -func (p *parser) callonAttributeStructuredValueElement129() (bool, error) { +func (p *parser) callonNormalGroup177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement129() + return p.cur.onNormalGroup177() } -func (c *current) onAttributeStructuredValueElement133() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onNormalGroup179() (bool, error) { + + log.Debug("LineBreak") + return c.isPrecededBySpace(), nil + } -func (p *parser) callonAttributeStructuredValueElement133() (interface{}, error) { +func (p *parser) callonNormalGroup179() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement133() + return p.cur.onNormalGroup179() } -func (c *current) onAttributeStructuredValueElement126() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onNormalGroup181() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement126() (interface{}, error) { +func (p *parser) callonNormalGroup181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement126() + return p.cur.onNormalGroup181() } -func (c *current) onAttributeStructuredValueElement140() (interface{}, error) { - return types.NewSymbol("<-") - +func (c *current) onNormalGroup185() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement140() (interface{}, error) { +func (p *parser) callonNormalGroup185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement140() + return p.cur.onNormalGroup185() } -func (c *current) onAttributeStructuredValueElement142() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onNormalGroup175() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonAttributeStructuredValueElement142() (interface{}, error) { +func (p *parser) callonNormalGroup175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement142() + return p.cur.onNormalGroup175() } -func (c *current) onAttributeStructuredValueElement144() (interface{}, error) { - return types.NewSymbol("<=") - +func (c *current) onNormalGroup197() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement144() (interface{}, error) { +func (p *parser) callonNormalGroup197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement144() + return p.cur.onNormalGroup197() } -func (c *current) onAttributeStructuredValueElement88() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onNormalGroup193(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonAttributeStructuredValueElement88() (interface{}, error) { +func (p *parser) callonNormalGroup193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement88() + return p.cur.onNormalGroup193(stack["ref"]) } -func (c *current) onAttributeStructuredValueElement146() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onNormalGroup201() (interface{}, error) { + + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("matching anychar '%s' at position %v", string(c.text), c.pos.String()) + } + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement146() (interface{}, error) { +func (p *parser) callonNormalGroup201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement146() + return p.cur.onNormalGroup201() } -func (c *current) onAttributeStructuredValueElement148() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onNormalGroup5(element interface{}) (interface{}, error) { + c.trackElement(element) + return element, nil } -func (p *parser) callonAttributeStructuredValueElement148() (interface{}, error) { +func (p *parser) callonNormalGroup5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement148() + return p.cur.onNormalGroup5(stack["element"]) } -func (c *current) onAttributeStructuredValueElement150() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onNormalGroup1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements) } -func (p *parser) callonAttributeStructuredValueElement150() (interface{}, error) { +func (p *parser) callonNormalGroup1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement150() + return p.cur.onNormalGroup1(stack["elements"]) } -func (c *current) onAttributeStructuredValueElement152() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onAttributeStructuredValue1(elements interface{}) (interface{}, error) { + + return types.NewInlineElements(elements) } -func (p *parser) callonAttributeStructuredValueElement152() (interface{}, error) { +func (p *parser) callonAttributeStructuredValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement152() + return p.cur.onAttributeStructuredValue1(stack["elements"]) } -func (c *current) onAttributeStructuredValueElement154() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onAttributeStructuredValueElement12() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement154() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement154() + return p.cur.onAttributeStructuredValueElement12() } -func (c *current) onAttributeStructuredValueElement156() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onAttributeStructuredValueElement14() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement156() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement156() + return p.cur.onAttributeStructuredValueElement14() } -func (c *current) onAttributeStructuredValueElement158() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onAttributeStructuredValueElement20() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonAttributeStructuredValueElement158() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement158() + return p.cur.onAttributeStructuredValueElement20() } -func (c *current) onAttributeStructuredValueElement160() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onAttributeStructuredValueElement28() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement160() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement160() + return p.cur.onAttributeStructuredValueElement28() } -func (c *current) onAttributeStructuredValueElement165() (bool, error) { - log.Debug("Mdash (a)") - return c.isPrecededBySpace(), nil - +func (c *current) onAttributeStructuredValueElement30() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement165() (bool, error) { +func (p *parser) callonAttributeStructuredValueElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement165() + return p.cur.onAttributeStructuredValueElement30() } -func (c *current) onAttributeStructuredValueElement167() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeStructuredValueElement7() (interface{}, error) { + log.Debugf("new inlineword: '%v'", string(c.text)) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonAttributeStructuredValueElement167() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement167() + return p.cur.onAttributeStructuredValueElement7() } -func (c *current) onAttributeStructuredValueElement171() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeStructuredValueElement39() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonAttributeStructuredValueElement171() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement171() + return p.cur.onAttributeStructuredValueElement39() } -func (c *current) onAttributeStructuredValueElement162() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onAttributeStructuredValueElement41() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement162() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement162() + return p.cur.onAttributeStructuredValueElement41() } -func (c *current) onAttributeStructuredValueElement181() (bool, error) { - log.Debug("Mdash (b)") - return c.isPrecededByAlphanum(), nil +func (c *current) onAttributeStructuredValueElement55() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement181() (bool, error) { +func (p *parser) callonAttributeStructuredValueElement55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement181() + return p.cur.onAttributeStructuredValueElement55() } -func (c *current) onAttributeStructuredValueElement185() (interface{}, error) { +func (c *current) onAttributeStructuredValueElement57() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement185() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement185() + return p.cur.onAttributeStructuredValueElement57() } -func (c *current) onAttributeStructuredValueElement178() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onAttributeStructuredValueElement65() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonAttributeStructuredValueElement178() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement65() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement178() + return p.cur.onAttributeStructuredValueElement65() } -func (c *current) onAttributeStructuredValueElement192() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onAttributeStructuredValueElement68() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonAttributeStructuredValueElement192() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement68() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement192() + return p.cur.onAttributeStructuredValueElement68() } -func (c *current) onAttributeStructuredValueElement194() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onAttributeStructuredValueElement71() (bool, error) { + + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonAttributeStructuredValueElement194() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement71() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement194() + return p.cur.onAttributeStructuredValueElement71() } -func (c *current) onAttributeStructuredValueElement196() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onAttributeStructuredValueElement74() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonAttributeStructuredValueElement196() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement74() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement196() + return p.cur.onAttributeStructuredValueElement74() } -func (c *current) onAttributeStructuredValueElement198() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onAttributeStructuredValueElement48() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement198() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement198() + return p.cur.onAttributeStructuredValueElement48() } -func (c *current) onAttributeStructuredValueElement200() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onAttributeStructuredValueElement80() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters) } -func (p *parser) callonAttributeStructuredValueElement200() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement80() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement200() + return p.cur.onAttributeStructuredValueElement80() } -func (c *current) onAttributeStructuredValueElement207() (bool, error) { - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil +func (c *current) onAttributeStructuredValueElement82() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonAttributeStructuredValueElement207() (bool, error) { +func (p *parser) callonAttributeStructuredValueElement82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement207() + return p.cur.onAttributeStructuredValueElement82() } -func (c *current) onAttributeStructuredValueElement205() (interface{}, error) { - return types.NewSymbol("'") +func (c *current) onAttributeStructuredValueElement78(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonAttributeStructuredValueElement205() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement205() + return p.cur.onAttributeStructuredValueElement78(stack["element"]) } -func (c *current) onAttributeStructuredValueElement215() (interface{}, error) { +func (c *current) onAttributeStructuredValueElement88() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement215() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement215() + return p.cur.onAttributeStructuredValueElement88() } -func (c *current) onAttributeStructuredValueElement211(ref interface{}) (interface{}, error) { +func (c *current) onAttributeStructuredValueElement84(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonAttributeStructuredValueElement211() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement211(stack["ref"]) + return p.cur.onAttributeStructuredValueElement84(stack["ref"]) } -func (c *current) onAttributeStructuredValueElement219() (interface{}, error) { +func (c *current) onAttributeStructuredValueElement92() (interface{}, error) { + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("matching anychar '%s' at position %v", string(c.text), c.pos.String()) + } return string(c.text), nil } -func (p *parser) callonAttributeStructuredValueElement219() (interface{}, error) { +func (p *parser) callonAttributeStructuredValueElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeStructuredValueElement219() + return p.cur.onAttributeStructuredValueElement92() } func (c *current) onAttributeStructuredValueElement1(element interface{}) (interface{}, error) { @@ -103746,7 +75748,7 @@ func (p *parser) callonAttributeStructuredValueElement1() (interface{}, error) { } func (c *current) onInlineMacro3() (bool, error) { - return c.isSubstitutionEnabled(Macros), nil + return c.isSubstitutionEnabled(Macros) } @@ -103769,7 +75771,6 @@ func (p *parser) callonInlineMacro17() (interface{}, error) { } func (c *current) onInlineMacro13(id interface{}) (interface{}, error) { - //return types.NewStringElement("[[" + id.(string) + "]]") return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } @@ -103805,6 +75806,7 @@ func (p *parser) callonInlineMacro21() (interface{}, error) { } func (c *current) onInlineMacro37() (interface{}, error) { + return string(c.text), nil } @@ -103826,6 +75828,7 @@ func (p *parser) callonInlineMacro33() (interface{}, error) { } func (c *current) onInlineMacro44() (interface{}, error) { + return string(c.text), nil } @@ -103837,6 +75840,7 @@ func (p *parser) callonInlineMacro44() (interface{}, error) { } func (c *current) onInlineMacro48() (interface{}, error) { + return string(c.text), nil } @@ -103848,6 +75852,7 @@ func (p *parser) callonInlineMacro48() (interface{}, error) { } func (c *current) onInlineMacro55() (interface{}, error) { + return string(c.text), nil } @@ -103879,6 +75884,7 @@ func (p *parser) callonInlineMacro41() (interface{}, error) { } func (c *current) onInlineMacro62() (interface{}, error) { + return string(c.text), nil } @@ -103890,6 +75896,7 @@ func (p *parser) callonInlineMacro62() (interface{}, error) { } func (c *current) onInlineMacro66() (interface{}, error) { + return string(c.text), nil } @@ -103901,6 +75908,7 @@ func (p *parser) callonInlineMacro66() (interface{}, error) { } func (c *current) onInlineMacro73() (interface{}, error) { + return string(c.text), nil } @@ -103954,7 +75962,7 @@ func (p *parser) callonInlineMacro1() (interface{}, error) { } func (c *current) onInlinePassthrough3() (bool, error) { - return c.isSubstitutionEnabled(InlinePassthroughs), nil + return c.isSubstitutionEnabled(InlinePassthroughs) } @@ -103977,6 +75985,7 @@ func (p *parser) callonInlinePassthrough11() (interface{}, error) { } func (c *current) onInlinePassthrough21() (interface{}, error) { + return string(c.text), nil } @@ -104022,6 +76031,7 @@ func (p *parser) callonInlinePassthrough6() (interface{}, error) { } func (c *current) onInlinePassthrough45() (interface{}, error) { + return string(c.text), nil } @@ -104079,6 +76089,7 @@ func (p *parser) callonInlinePassthrough40() (interface{}, error) { } func (c *current) onInlinePassthrough74() (interface{}, error) { + return string(c.text), nil } @@ -104135,7 +76146,7 @@ func (p *parser) callonInlinePassthrough1() (interface{}, error) { } func (c *current) onQuote2() (bool, error) { - return c.isSubstitutionEnabled(Quotes), nil + return c.isSubstitutionEnabled(Quotes) } @@ -104145,119 +76156,560 @@ func (p *parser) callonQuote2() (bool, error) { return p.cur.onQuote2() } -func (c *current) onTableColumnsAttribute15() (interface{}, error) { +func (c *current) onReplacement3() (bool, error) { + return c.isSubstitutionEnabled(Replacements) + +} + +func (p *parser) callonReplacement3() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onReplacement3() +} + +func (c *current) onReplacement1(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonReplacement1() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onReplacement1(stack["element"]) +} + +func (c *current) onSymbol7() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSymbol7() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol7() +} + +func (c *current) onSymbol9() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSymbol9() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol9() +} + +func (c *current) onSymbol11() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSymbol11() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol11() +} + +func (c *current) onSymbol13() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSymbol13() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol13() +} + +func (c *current) onSymbol15() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSymbol15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol15() +} + +func (c *current) onSymbol20() (bool, error) { + log.Debug("Mdash (a)") + return c.isPrecededBySpace(), nil + +} + +func (p *parser) callonSymbol20() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol20() +} + +func (c *current) onSymbol22() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonSymbol22() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol22() +} + +func (c *current) onSymbol26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSymbol26() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol26() +} + +func (c *current) onSymbol17() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSymbol17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol17() +} + +func (c *current) onSymbol36() (bool, error) { + log.Debug("Mdash (b)") + return c.isPrecededByAlphanum(), nil + +} + +func (p *parser) callonSymbol36() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol36() +} + +func (c *current) onSymbol40() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSymbol40() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol40() +} + +func (c *current) onSymbol33() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSymbol33() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol33() +} + +func (c *current) onSymbol47() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSymbol47() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol47() +} + +func (c *current) onSymbol49() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSymbol49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol49() +} + +func (c *current) onSymbol51() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSymbol51() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol51() +} + +func (c *current) onSymbol2() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonSymbol2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol2() +} + +func (c *current) onSymbol54() (interface{}, error) { + return types.NewSymbol("(C)") + +} + +func (p *parser) callonSymbol54() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol54() +} + +func (c *current) onSymbol56() (interface{}, error) { + return types.NewSymbol("(TM)") + +} + +func (p *parser) callonSymbol56() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol56() +} + +func (c *current) onSymbol58() (interface{}, error) { + return types.NewSymbol("(R)") + +} + +func (p *parser) callonSymbol58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol58() +} + +func (c *current) onSymbol60() (interface{}, error) { + return types.NewSymbol("...") + +} + +func (p *parser) callonSymbol60() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol60() +} + +func (c *current) onSymbol65() (bool, error) { + log.Debug("Mdash (a)") + return c.isPrecededBySpace(), nil + +} + +func (p *parser) callonSymbol65() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol65() +} + +func (c *current) onSymbol67() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonSymbol67() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol67() +} + +func (c *current) onSymbol71() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSymbol71() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol71() +} + +func (c *current) onSymbol62() (interface{}, error) { + return types.NewSymbol(" -- ") + +} + +func (p *parser) callonSymbol62() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol62() +} + +func (c *current) onSymbol81() (bool, error) { + log.Debug("Mdash (b)") + return c.isPrecededByAlphanum(), nil + +} + +func (p *parser) callonSymbol81() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol81() +} + +func (c *current) onSymbol85() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonSymbol85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol85() +} + +func (c *current) onSymbol78() (interface{}, error) { + return types.NewSymbol("--") + +} + +func (p *parser) callonSymbol78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol78() +} + +func (c *current) onSymbol92() (interface{}, error) { + return types.NewSymbol("->") + +} + +func (p *parser) callonSymbol92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol92() +} + +func (c *current) onSymbol94() (interface{}, error) { + return types.NewSymbol("<-") + +} + +func (p *parser) callonSymbol94() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol94() +} + +func (c *current) onSymbol96() (interface{}, error) { + return types.NewSymbol("=>") + +} + +func (p *parser) callonSymbol96() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol96() +} + +func (c *current) onSymbol98() (interface{}, error) { + return types.NewSymbol("<=") + +} + +func (p *parser) callonSymbol98() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSymbol98() +} + +func (c *current) onQuotationMark8() (bool, error) { + log.Debug("SingleQuoteMonospaceTextStartDelimiter") + return c.isSingleQuotedTextAllowed(), nil + +} + +func (p *parser) callonQuotationMark8() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotationMark8() +} + +func (c *current) onQuotationMark2() (interface{}, error) { + // do not conflict with quotation mark within monospace text + return types.NewSymbol("`\"") + +} + +func (p *parser) callonQuotationMark2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotationMark2() +} + +func (c *current) onQuotationMark12() (interface{}, error) { + // do not conflict with quotation mark within monospace text + return types.NewSymbol("\"`") + +} + +func (p *parser) callonQuotationMark12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotationMark12() +} + +func (c *current) onQuotationMark23() (bool, error) { + log.Debug("SingleQuoteMonospaceTextStartDelimiter") + return c.isSingleQuotedTextAllowed(), nil + +} + +func (p *parser) callonQuotationMark23() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotationMark23() +} + +func (c *current) onQuotationMark17() (interface{}, error) { + // do not conflict with quotation mark within monospace text + return types.NewSymbol("`'") + +} + +func (p *parser) callonQuotationMark17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotationMark17() +} + +func (c *current) onQuotationMark27() (interface{}, error) { + // do not conflict with quotation mark within monospace text + return types.NewSymbol("'`") + +} + +func (p *parser) callonQuotationMark27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotationMark27() +} + +func (c *current) onTableColumnsAttribute14() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonTableColumnsAttribute15() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute15() + return p.cur.onTableColumnsAttribute14() } -func (c *current) onTableColumnsAttribute12(n interface{}) (interface{}, error) { +func (c *current) onTableColumnsAttribute11(n interface{}) (interface{}, error) { return n, nil } -func (p *parser) callonTableColumnsAttribute12() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute12(stack["n"]) + return p.cur.onTableColumnsAttribute11(stack["n"]) } -func (c *current) onTableColumnsAttribute25() (interface{}, error) { +func (c *current) onTableColumnsAttribute24() (interface{}, error) { return types.HAlignLeft, nil } -func (p *parser) callonTableColumnsAttribute25() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute25() + return p.cur.onTableColumnsAttribute24() } -func (c *current) onTableColumnsAttribute27() (interface{}, error) { +func (c *current) onTableColumnsAttribute26() (interface{}, error) { return types.HAlignRight, nil } -func (p *parser) callonTableColumnsAttribute27() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute27() + return p.cur.onTableColumnsAttribute26() } -func (c *current) onTableColumnsAttribute29() (interface{}, error) { +func (c *current) onTableColumnsAttribute28() (interface{}, error) { return types.HAlignCenter, nil } -func (p *parser) callonTableColumnsAttribute29() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute29() + return p.cur.onTableColumnsAttribute28() } -func (c *current) onTableColumnsAttribute34() (interface{}, error) { +func (c *current) onTableColumnsAttribute33() (interface{}, error) { return types.VAlignTop, nil } -func (p *parser) callonTableColumnsAttribute34() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute34() + return p.cur.onTableColumnsAttribute33() } -func (c *current) onTableColumnsAttribute36() (interface{}, error) { +func (c *current) onTableColumnsAttribute35() (interface{}, error) { return types.VAlignBottom, nil } -func (p *parser) callonTableColumnsAttribute36() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute36() + return p.cur.onTableColumnsAttribute35() } -func (c *current) onTableColumnsAttribute38() (interface{}, error) { +func (c *current) onTableColumnsAttribute37() (interface{}, error) { return types.VAlignMiddle, nil } -func (p *parser) callonTableColumnsAttribute38() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute38() + return p.cur.onTableColumnsAttribute37() } -func (c *current) onTableColumnsAttribute43() (interface{}, error) { +func (c *current) onTableColumnsAttribute42() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonTableColumnsAttribute43() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute43() + return p.cur.onTableColumnsAttribute42() } -func (c *current) onTableColumnsAttribute49() (interface{}, error) { +func (c *current) onTableColumnsAttribute48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTableColumnsAttribute49() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute49() + return p.cur.onTableColumnsAttribute48() } -func (c *current) onTableColumnsAttribute53() (interface{}, error) { +func (c *current) onTableColumnsAttribute52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTableColumnsAttribute53() (interface{}, error) { +func (p *parser) callonTableColumnsAttribute52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute53() + return p.cur.onTableColumnsAttribute52() } -func (c *current) onTableColumnsAttribute58(multiplier, halign, valign, weight, style, comma interface{}) (bool, error) { +func (c *current) onTableColumnsAttribute57(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 || @@ -104269,10 +76721,10 @@ func (c *current) onTableColumnsAttribute58(multiplier, halign, valign, weight, } -func (p *parser) callonTableColumnsAttribute58() (bool, error) { +func (p *parser) callonTableColumnsAttribute57() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTableColumnsAttribute58(stack["multiplier"], stack["halign"], stack["valign"], stack["weight"], stack["style"], stack["comma"]) + return p.cur.onTableColumnsAttribute57(stack["multiplier"], stack["halign"], stack["valign"], stack["weight"], stack["style"], stack["comma"]) } func (c *current) onTableColumnsAttribute5(multiplier, halign, valign, weight, style, comma interface{}) (interface{}, error) { @@ -104399,7 +76851,7 @@ func (p *parser) callonInlineUserMacro1() (interface{}, error) { } 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) + // excluding EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } @@ -104411,7 +76863,10 @@ func (p *parser) callonFileLocation12() (interface{}, error) { } func (c *current) onFileLocation16() (interface{}, error) { + // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) return string(c.text), nil + } func (p *parser) callonFileLocation16() (interface{}, error) { @@ -104420,206 +76875,303 @@ func (p *parser) callonFileLocation16() (interface{}, error) { return p.cur.onFileLocation16() } -func (c *current) onFileLocation23() (interface{}, error) { +func (c *current) onFileLocation27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileLocation23() (interface{}, error) { +func (p *parser) callonFileLocation27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation23() + return p.cur.onFileLocation27() } -func (c *current) onFileLocation27() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onFileLocation37() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonFileLocation27() (bool, error) { +func (p *parser) callonFileLocation37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation27() + return p.cur.onFileLocation37() } -func (c *current) onFileLocation34() (interface{}, error) { +func (c *current) onFileLocation39() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonFileLocation39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation39() +} + +func (c *current) onFileLocation47() (bool, error) { + + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled } -func (p *parser) callonFileLocation34() (interface{}, error) { +func (p *parser) callonFileLocation47() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation34() + return p.cur.onFileLocation47() } -func (c *current) onFileLocation46() (interface{}, error) { - return string(c.text), nil +func (c *current) onFileLocation50() (bool, error) { + + return c.isSubstitutionDisabled(Macros) } -func (p *parser) callonFileLocation46() (interface{}, error) { +func (p *parser) callonFileLocation50() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation46() + return p.cur.onFileLocation50() } -func (c *current) onFileLocation48() (interface{}, error) { +func (c *current) onFileLocation53() (bool, error) { - return strconv.Atoi(string(c.text)) + return c.isSubstitutionDisabled(Quotes) } -func (p *parser) callonFileLocation48() (interface{}, error) { +func (p *parser) callonFileLocation53() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation48() + return p.cur.onFileLocation53() } -func (c *current) onFileLocation41(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onFileLocation56() (bool, error) { + + return c.allSubstitutionsDisabled(Macros, Quotes) // all substitutions involving attributes must be disabled } -func (p *parser) callonFileLocation41() (interface{}, error) { +func (p *parser) callonFileLocation56() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation41(stack["start"]) + return p.cur.onFileLocation56() } -func (c *current) onFileLocation30(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onFileLocation30() (interface{}, error) { + + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil + } func (p *parser) callonFileLocation30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation30(stack["name"], stack["start"]) + return p.cur.onFileLocation30() } -func (c *current) onFileLocation56() (interface{}, error) { +func (c *current) onFileLocation63() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileLocation56() (interface{}, error) { +func (p *parser) callonFileLocation63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation56() + return p.cur.onFileLocation63() } -func (c *current) onFileLocation68() (interface{}, error) { +func (c *current) onFileLocation67() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs) + +} + +func (p *parser) callonFileLocation67() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation67() +} + +func (c *current) onFileLocation74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation68() (interface{}, error) { +func (p *parser) callonFileLocation74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation68() + return p.cur.onFileLocation74() } -func (c *current) onFileLocation70() (interface{}, error) { +func (c *current) onFileLocation70(name interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } func (p *parser) callonFileLocation70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation70() + return p.cur.onFileLocation70(stack["name"]) } -func (c *current) onFileLocation63(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onFileLocation84() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileLocation63() (interface{}, error) { +func (p *parser) callonFileLocation84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation63(stack["start"]) + return p.cur.onFileLocation84() } -func (c *current) onFileLocation52(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onFileLocation80(name interface{}) (interface{}, error) { + + return types.NewAttributeReference(name.(string), string(c.text)) + } -func (p *parser) callonFileLocation52() (interface{}, error) { +func (p *parser) callonFileLocation80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation52(stack["name"], stack["start"]) + return p.cur.onFileLocation80(stack["name"]) } -func (c *current) onFileLocation78() (interface{}, error) { +func (c *current) onFileLocation94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation78() (interface{}, error) { +func (p *parser) callonFileLocation94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation78() + return p.cur.onFileLocation94() } -func (c *current) onFileLocation74(name interface{}) (interface{}, error) { +func (c *current) onFileLocation106() (interface{}, error) { + return string(c.text), nil - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +} +func (p *parser) callonFileLocation106() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation106() } -func (p *parser) callonFileLocation74() (interface{}, error) { +func (c *current) onFileLocation108() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonFileLocation108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation108() +} + +func (c *current) onFileLocation101(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonFileLocation101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation101(stack["start"]) +} + +func (c *current) onFileLocation90(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonFileLocation90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation74(stack["name"]) + return p.cur.onFileLocation90(stack["name"], stack["start"]) } -func (c *current) onFileLocation88() (interface{}, error) { +func (c *current) onFileLocation116() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation88() (interface{}, error) { +func (p *parser) callonFileLocation116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation88() + return p.cur.onFileLocation116() } -func (c *current) onFileLocation84(name interface{}) (interface{}, error) { +func (c *current) onFileLocation128() (interface{}, error) { + return string(c.text), nil + +} - return types.NewAttributeReference(name.(string), string(c.text)) +func (p *parser) callonFileLocation128() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation128() +} + +func (c *current) onFileLocation130() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonFileLocation84() (interface{}, error) { +func (p *parser) callonFileLocation130() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation130() +} + +func (c *current) onFileLocation123(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonFileLocation123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileLocation123(stack["start"]) +} + +func (c *current) onFileLocation112(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonFileLocation112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation84(stack["name"]) + return p.cur.onFileLocation112(stack["name"], stack["start"]) } -func (c *current) onFileLocation25(element interface{}) (interface{}, error) { +func (c *current) onFileLocation65(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonFileLocation25() (interface{}, error) { +func (p *parser) callonFileLocation65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation25(stack["element"]) + return p.cur.onFileLocation65(stack["element"]) } -func (c *current) onFileLocation94() (interface{}, error) { +func (c *current) onFileLocation134() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonFileLocation94() (interface{}, error) { +func (p *parser) callonFileLocation134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation94() + return p.cur.onFileLocation134() } func (c *current) onFileLocation5(elements interface{}) (interface{}, error) { @@ -104633,24 +77185,24 @@ func (p *parser) callonFileLocation5() (interface{}, error) { return p.cur.onFileLocation5(stack["elements"]) } -func (c *current) onFileLocation100() (interface{}, error) { +func (c *current) onFileLocation140() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileLocation100() (interface{}, error) { +func (p *parser) callonFileLocation140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation100() + return p.cur.onFileLocation140() } -func (c *current) onFileLocation96(ref interface{}) (interface{}, error) { +func (c *current) onFileLocation136(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonFileLocation96() (interface{}, error) { +func (p *parser) callonFileLocation136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileLocation96(stack["ref"]) + return p.cur.onFileLocation136(stack["ref"]) } func (c *current) onFileLocation1(path interface{}) (interface{}, error) { diff --git a/pkg/parser/parser.peg b/pkg/parser/parser.peg index ed634baa..7b5f3443 100644 --- a/pkg/parser/parser.peg +++ b/pkg/parser/parser.peg @@ -225,7 +225,7 @@ IncludedFileEndTag <- "end::" tag:(Alphanums {return string(c.text), nil}) "[]" // Document Fragments // ------------------------------------------------------------------------------------- DocumentFragment <- - !EOF + NotEOF attributes:(BlockAttributes)? #{ if attributes, ok := attributes.(types.Attributes); ok { @@ -265,7 +265,7 @@ DocumentFragment <- } RawLine <- - !EOF + NotEOF content:(AnyChars) EOL { return types.NewRawLine(content.(string)) @@ -425,6 +425,7 @@ ShortHandTitle <- `.` elements:( InlineWord / Space + / Punctuation / AttributeReferenceValue / AnyChar )+ { @@ -633,9 +634,9 @@ UnquotedAttributeValue <- AttributeReference <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(AttributeRefs), nil + return c.isSubstitutionEnabled(AttributeRefs) } - element:(CounterReference / AttributeReferenceValue) { + element:(AttributeReferenceValue / CounterReference) { return element, nil } @@ -673,7 +674,7 @@ CounterStart <- ":" start:([A-Za-z] { // ------------------------------------------------------------------------------------- // BlankLine // ------------------------------------------------------------------------------------- -BlankLine <- !EOF Space* EOL { +BlankLine <- NotEOF Space* EOL { return types.NewBlankLine() } @@ -807,7 +808,7 @@ SidebarBlockDelimiter <- } DelimitedBlockRawLine <- - !EOF // in case the block is unclosed and at the end of the document + NotEOF // in case the block is unclosed and at the end of the document content:(AnyChars) EOL { return types.NewRawLine(content.(string)) } @@ -1154,7 +1155,7 @@ DocumentAuthorFullName <- DocumentAuthorEmail <- - !EOF + NotEOF "<" email:(([^>\r\n]+) { return string(c.text), nil @@ -1203,7 +1204,7 @@ ElementPlaceHolder <- ElementPlaceHolderDelimiter ref:([0-9]+ { return string(c. // ----------------------------------------------------------------------------------------------------------------------- LineBreak <- &{ - return c.isSubstitutionEnabled(PostReplacements), nil + return c.isSubstitutionEnabled(PostReplacements) } "+" &{ @@ -1244,42 +1245,12 @@ FrontMatterLine <- (.)* { return types.NewRawLine(string(c.text)) } -// ------------------------------------------------------------------------------------- -// Inline Elements -// ------------------------------------------------------------------------------------- - -// TODO: group as below and enable based on substitution context. -// Also, add Callouts - -// "specialcharacters", -// "quotes", -// "attributes", -// "replacements", -// "macros", -// "post_replacements", -InlineElement <- - element:( - Spaces - / InlineWord - / InlineMacro - / LineBreak - / Symbol // TODO: use `Replacement`? - / Quote - / AttributeReference - / SpecialCharacter // must be after InlineMacro (because of BareURL) - // if anything above did not match... - / AnyChar) { - c.trackElement(element) - return element, nil -} - // ------------------------------------------------------------------------------------- // Inline Anchor // ------------------------------------------------------------------------------------- InlineAnchor <- // escaped `\` "[[" id:(Id) "]]" { - //return types.NewStringElement("[[" + id.(string) + "]]") return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } // unescaped @@ -1370,8 +1341,21 @@ FootnoteElements <- elements:(FootnoteElement)* { FootnoteElement <- !"]" element:( - InlineElement - / Newline) { + InlineWord + / Spaces + / Dot + / TypographicQuote + / Quote + / Replacement + / InlineMacro + / Punctuation // must be after Replacement + / LineBreak + / AttributeReference + / SpecialCharacter // must be after InlineMacro (because of BareURL) + / Newline + // if anything above did not match... + / AnyChar) { + c.trackElement(element) return element, nil } @@ -1421,10 +1405,11 @@ Link <- BareURL / RelativeLink / ExternalLink / EmailAddress BareURL <- "<" url:(LocationWithScheme) // scheme is required for this syntax - &{ - // expect `>` to be part of `url` and trimmed afterwards - return url.(*types.Location).TrimAngleBracketSuffix() - } + // &{ + // // expect `>` to be part of `url` and trimmed afterwards + // return url.(*types.Location).TrimAngleBracketSuffix() + // } + ">" { return types.NewInlineLink(url.(*types.Location), nil) } @@ -1457,20 +1442,27 @@ EmailAddress <- local:(EmailAddressLocal) "@" domain:(EmailAddressDomain) { return types.NewEmailAddressLink(local.(string) +"@" + domain.(string)) } -EmailAddressLocal <- [a-zA-Z0-9!#$%&'*+-/=?^_`{|}~.]+ // `' - &{ - // must not start or end with dot (`.`), not contain two consecutive dots (`..`) - local := string(c.text) - return !strings.HasPrefix(local, ".") && - !strings.HasSuffix(local, ".") && - !strings.Contains(local, ".."), nil - } - { +EmailAddressLocal <- + local:([\pL\pN!#$%&'*+-/=?^_`{|}~.]+ { // `' return string(c.text), nil + }) + &{ + // must not start or end with `.` nor contain `..` + return !strings.HasPrefix(local.(string), ".") && + !strings.HasSuffix(local.(string), ".") && + !strings.Contains(local.(string), ".."), nil + }{ + return local, nil } -EmailAddressDomain <- [a-zA-Z0-9-]+ ("." [a-zA-Z0-9-]+)* { +EmailAddressDomain <- domain:([\pL\pN]+ ("." [\pL\pN-]+)* { return string(c.text), nil + }) + &{ + // must not end with `-` + return !strings.HasSuffix(domain.(string), "-"), nil + }{ + return domain, nil } // ----------------------------------------------------------------------------------------------------------------------- @@ -1493,7 +1485,7 @@ ExtraListElements <- elements:(ExtraListElement)* { } ExtraListElement <- // other elements can be separated by blankline WITHOUT attributes, or can have attributes but NO blankline before - !EOF + NotEOF element:( ( BlankLine* element:(OrderedListElement / UnorderedListElement / CalloutListElement / LabeledListElement) { @@ -1545,7 +1537,7 @@ ListContinuation <- ListContinuationMarker <- "+" Space* Newline ListContinuationElement <- // TODO: same as DelimitedBlockElement? - !EOF // quick escapes + NotEOF // quick escapes !ListElement attributes:(BlockAttributes)? element:( @@ -1709,7 +1701,7 @@ LabeledListElementDescription <- Callout <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Callouts), nil + return c.isSubstitutionEnabled(Callouts) } "<" ref:([0-9]+ { return strconv.Atoi(string(c.text)) }) ">" Space* &(EOL / Callout) { return types.NewCallout(ref.(int)) @@ -1763,7 +1755,7 @@ ShortcutParagraph <- !strings.HasSuffix(string(firstLine.(types.RawLine)), "::"), nil } otherLines:( - !EOF + NotEOF !BlankLine !BlockAttributes !BlockDelimiter @@ -1779,7 +1771,7 @@ Paragraph <- style:(ParagraphStyle)? firstLine:(ParagraphRawLine) otherLines:( - !EOF + NotEOF !BlankLine !BlockAttributes line:(SinglelineComment / ParagraphRawLine) { @@ -1821,7 +1813,7 @@ EscapedQuotedText <- UnescapedQuotedText <- // unescaped attributes:(LongHandAttributes)? - element:(DoubleQuotedText / SingleQuotedText) { + element:(SingleQuotedText / DoubleQuotedText) { return element.(*types.QuotedText).WithAttributes(attributes) } @@ -1855,19 +1847,27 @@ TwoOrMoreBackslashes <- `\\` `\`* { return string(c.text), nil } +QuotedTextElement <- + InlineWord + / Spaces // may start and end with spaces + / Dot + / Replacement + / Punctuation // must be after Replacement + / TypographicQuote + / AttributeReference + / SingleNewline // 2 newlines split the paragraph + / QuotedText // must be before Replacement + / InlineMacro + / SpecialCharacter // must be after InlineMacro (because of BareURL) + / ElementPlaceHolder + / AnyChar + // --------------------------------------------------- // Quoted Bold Text // --------------------------------------------------- BoldTextDelimiter <- "*" -BoldTextWord <- - ([\pL\pN]) // start with letter or number - ([\pL\pN,;?!])* - &(Space / BoldTextDelimiter) { - return types.NewStringElement(string(c.text)) - } - // ------------------------------- // Bold text within double quotes // ------------------------------- @@ -1885,20 +1885,9 @@ DoubleQuoteBoldText <- DoubleQuoteBoldTextElements <- DoubleQuoteBoldTextElement+ DoubleQuoteBoldTextElement <- - !EOF + NotEOF !DoubleQuoteBoldTextEndDelimiter - element:( - BoldTextWord - / Spaces // may start and end with spaces - / SingleNewline // 2 newlines split the paragraph - / AttributeReference - / InlineMacro - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -1912,11 +1901,11 @@ SingleQuoteBoldTextStartDelimiter <- log.Debug("SingleQuoteBoldTextStartDelimiter") return c.isSingleQuotedTextAllowed(), nil } - &(!"*") // not to be confused with double quoted start delimiter + &(!"*") // not to be confused with double quoted start delimiter // TODO: needed? SingleQuoteBoldTextEndDelimiter <- "*" - !"*" // do not collide with nested double quoted bold text + !"*" // do not conflict with nested double quoted bold text &{ log.Debug("SingleQuoteBoldTextEndDelimiter") return !c.isPrecededBySpace(), nil @@ -1940,20 +1929,9 @@ SingleQuoteBoldTextElements <- } SingleQuoteBoldTextElement <- - !EOF // TODO: needed? + NotEOF // TODO: needed? !SingleQuoteBoldTextEndDelimiter - element:( // TODO: same rule in other kinds of quoted text -> new rule to regroup - BoldTextWord - / Spaces - / SingleNewline // 2 newlines split the paragraph - / InlineMacro - / AttributeReference - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -1979,13 +1957,6 @@ EscapedBoldText <- ItalicTextDelimiter <- "_" -ItalicTextWord <- - ([\pL\pN]) // start with letter or number - ([\pL\pN,;?!])* - &(Space / ItalicTextDelimiter) { - return types.NewStringElement(string(c.text)) - } - // --------------------------------- // Italic text within double quotes // --------------------------------- @@ -2003,20 +1974,9 @@ DoubleQuoteItalicText <- DoubleQuoteItalicTextElements <- DoubleQuoteItalicTextElement+ DoubleQuoteItalicTextElement <- - !EOF + NotEOF !DoubleQuoteItalicTextEndDelimiter - element:( - ItalicTextWord - / Spaces // may start and end with spaces - / SingleNewline // 2 newlines split the paragraph - / AttributeReference - / InlineMacro - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -2035,7 +1995,7 @@ SingleQuoteItalicTextStartDelimiter <- SingleQuoteItalicTextEndDelimiter <- "_" - !"_" // do not collide with nested double quoted italic text + !"_" // do not conflict with nested double quoted italic text &{ log.Debug("SingleQuoteItalicTextEndDelimiter") return !c.isPrecededBySpace(), nil @@ -2059,20 +2019,9 @@ SingleQuoteItalicTextElements <- } SingleQuoteItalicTextElement <- - !EOF + NotEOF !SingleQuoteItalicTextEndDelimiter - element:( - ItalicTextWord - / Spaces - / SingleNewline // 2 newlines split the paragraph // TODO: is `!NewLine` really needed?? - / AttributeReference - / InlineMacro - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -2098,13 +2047,6 @@ EscapedItalicText <- MonospaceTextDelimiter <- "`" -MonospaceTextWord <- - ([\pL\pN]) // start with letter or number - ([\pL\pN,;?!])* - &(Space / MonospaceTextDelimiter) { - return types.NewStringElement(string(c.text)) - } - // ------------------------------------ // Monospace text within double quotes // ------------------------------------ @@ -2122,20 +2064,9 @@ DoubleQuoteMonospaceText <- DoubleQuoteMonospaceTextElements <- DoubleQuoteMonospaceTextElement+ // may start and end with spaces DoubleQuoteMonospaceTextElement <- - !EOF + NotEOF !DoubleQuoteMonospaceTextEndDelimiter - element:( - MonospaceTextWord - / Spaces // may start and end with spaces - / SingleNewline // 2 newlines split the paragraph - / AttributeReference - / InlineMacro - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -2156,7 +2087,6 @@ SingleQuoteMonospaceTextStartDelimiter <- SingleQuoteMonospaceTextEndDelimiter <- !QuotationMark "`" - // !"`" // do not collide with nested double quoted monospace text &{ log.Debug("SingleQuoteMonospaceTextEndDelimiter") return !c.isPrecededBySpace(), nil @@ -2181,20 +2111,9 @@ SingleQuoteMonospaceTextElements <- } SingleQuoteMonospaceTextElement <- - !EOF + NotEOF !SingleQuoteMonospaceTextEndDelimiter - element:( - MonospaceTextWord - / Spaces - / SingleNewline // 2 newlines split the paragraph - / AttributeReference - / InlineMacro - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -2220,13 +2139,6 @@ EscapedMonospaceText <- MarkedTextDelimiter <- "#" -MarkedTextWord <- - ([\pL\pN]) // start with letter or number - ([\pL\pN,;?!])* - &(Space / MarkedTextDelimiter) { - return types.NewStringElement(string(c.text)) - } - // ------------------------------------ // Marked text within double quotes // ------------------------------------ @@ -2244,20 +2156,9 @@ DoubleQuoteMarkedText <- DoubleQuoteMarkedTextElements <- DoubleQuoteMarkedTextElement* DoubleQuoteMarkedTextElement <- // may start and end with spaces - !EOF + NotEOF !DoubleQuoteMarkedTextEndDelimiter - element:( - MarkedTextWord - / Spaces // may start and end with spaces - / SingleNewline // 2 newlines split the paragraph - / AttributeReference - / InlineMacro - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -2275,7 +2176,7 @@ SingleQuoteMarkedTextStartDelimiter <- SingleQuoteMarkedTextEndDelimiter <- "#" - !"#" // do not collide with nested double quoted bold text + !"#" // do not conflict with nested double quoted bold text &{ log.Debug("SingleQuoteMarkedTextEndDelimiter") return !c.isPrecededBySpace(), nil @@ -2299,20 +2200,9 @@ SingleQuoteMarkedTextElements <- } SingleQuoteMarkedTextElement <- - !EOF + NotEOF !SingleQuoteMarkedTextEndDelimiter - element:( - MarkedTextWord - / Spaces - / SingleNewline // 2 newlines split the paragraph - / AttributeReference - / InlineMacro - / Replacement - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / QuotedText - / ElementPlaceHolder - / AnyChar - ) { + element:(QuotedTextElement) { c.trackElement(element) return element, nil } @@ -2420,12 +2310,15 @@ SectionTitleElement <- !EOL element:( InlineWord - / (Space+ id:(LegacyElementID) Space* &EOL { return id, nil}) // (legacy) element ID + / SectionTitleLegacyID / Space - / InlinePassthrough + / Dot + / TypographicQuote + / Replacement + / Punctuation // must be after Replacement / Quote + / InlinePassthrough / Link - / Replacement / SpecialCharacter // must be after Link (because of BareURL) / InlineIcon / AttributeReference @@ -2437,6 +2330,15 @@ SectionTitleElement <- return element, nil } +SectionTitleLegacyID <- + // (legacy) element ID, must be preceded by a space + &{ + return c.isPrecededBySpace(), nil + } + id:(LegacyElementID) Space* &EOL + { + return id, nil + } // ------------------------------------------------------------------------------------- // Substitutions @@ -2445,20 +2347,24 @@ SectionTitleElement <- // Substitution groups NormalGroup <- // TODO: verify same order of rules as in AttributeStructuredValue? elements:( - !EOF + // !EOF + NotEOF element:( InlineWord + / Replacement + / Punctuation // must be after Replacement / Space + / Dot / Newline + / AttributeReference + / TypographicQuote + / Quote / InlineMacro // must be before SpecialCharacter (because of CrossReference) - / Quote // must be before Symbol // TODO: move before InlineMacro? - / ElementPlaceHolder // TODO: needed when parsing a second time? after first pass returned attribute substitutions - / Replacement + / Callout // must be placed before SpecialCharacter + / SpecialCharacter // must be after InlineMacro (because of BareURL) and Callout / LineBreak / InlinePassthrough - / Callout // must be placed before SpecialCharacter - / SpecialCharacter // must be after InlineMacro (because of BareURL) - / AttributeReference + / ElementPlaceHolder // TODO: needed when parsing a second time? after first pass returned attribute substitutions / AnyChar) { c.trackElement(element) return element, nil @@ -2474,14 +2380,16 @@ AttributeStructuredValue <- } AttributeStructuredValueElement <- - !EOF + NotEOF element:( InlineWord / Space - / InlineMacro + / Dot + / Replacement + / Punctuation // must be after Replacement / Quote - / SpecialCharacter - / Symbol // TODO: use `Replacement`? + / InlineMacro + / SpecialCharacter // must be after InlineMacro (before of BareURL) / ElementPlaceHolder / AnyChar) { c.trackElement(element) @@ -2493,7 +2401,7 @@ AttributeStructuredValueElement <- InlineMacro <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Macros), nil + return c.isSubstitutionEnabled(Macros) } element:( InlineIcon @@ -2514,7 +2422,7 @@ InlineMacro <- InlinePassthrough <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(InlinePassthroughs), nil + return c.isSubstitutionEnabled(InlinePassthroughs) } element:( TriplePlusPassthrough / SinglePlusPassthrough / PassthroughMacro @@ -2525,14 +2433,14 @@ InlinePassthrough <- Quote <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Quotes), nil + return c.isSubstitutionEnabled(Quotes) } QuotedText Replacement <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(Replacements), nil + return c.isSubstitutionEnabled(Replacements) } element:( Symbol @@ -2543,14 +2451,10 @@ Replacement <- SpecialCharacter <- // check if enabled with the current substitution context &{ - return c.isSubstitutionEnabled(SpecialCharacters), nil + return c.isSubstitutionEnabled(SpecialCharacters) } element:( - // if we have a InternalCrossReference we just return a StringElement. - InternalCrossReference { - return types.NewStringElement(string(c.text)) - } - / ("<" / ">" / "&" ) { + ("<" / ">" / "&" ) { return types.NewSpecialCharacter(string(c.text)) }) { return element, nil @@ -2569,31 +2473,61 @@ SinglelineCommentDelimiter <- "//" !"//" SinglelineCommentContent <- AnyChars // ------------------------------------------------------------------------------------- -// Symbol // TODO: use `Replacement`?s +// Symbols // ------------------------------------------------------------------------------------- + +// The implied apostrophe is used in interior words, and intended to help +// cases like "mother's day". Asciidoctor requires that it be followed by +// a letter (not a digit) but it can have a digit just before it. +TypographicQuote <- + // escaped + `\'` &[\pL] { + //log.Debug("matched escaped apostrophe") + return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char + } + / + // unescaped + &{ + return c.isSubstitutionEnabled(Replacements) + } + &{ + //log.Debugf("TypographicQuote at pos %s", c.pos.String()) + return c.isPrecededByAlphanum(), nil + } + `'` &[\pL] { + return types.NewSymbol("'") + } + Symbol <- // escaped `\` (QuotationMark / Copyright / Trademark / Registered / Ellipsis / SingleRightArrow / Mdash / SingleLeftArrow / DoubleRightArrow / DoubleLeftArrow) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } // unescaped - / QuotationMark / Copyright / Trademark / Registered / Ellipsis / Mdash / SingleRightArrow / SingleLeftArrow / DoubleRightArrow / DoubleLeftArrow - // - / TypographicQuote + / QuotationMark + / Copyright + / Trademark + / Registered + / Ellipsis + / Mdash + / SingleRightArrow + / SingleLeftArrow + / DoubleRightArrow + / DoubleLeftArrow QuotationMark <- - "\"`" { - return types.NewSymbol("\"`") - } - / "`\"" { + "`\"" !SingleQuoteMonospaceTextStartDelimiter { // do not conflict with quotation mark within monospace text return types.NewSymbol("`\"") } - / "'`" { - return types.NewSymbol("'`") + / "\"`" !SingleQuoteMonospaceTextEndDelimiter { // do not conflict with quotation mark within monospace text + return types.NewSymbol("\"`") } - / "`'" { + / "`'" !SingleQuoteMonospaceTextStartDelimiter { // do not conflict with quotation mark within monospace text return types.NewSymbol("`'") } + / "'`" !SingleQuoteMonospaceTextEndDelimiter { // do not conflict with quotation mark within monospace text + return types.NewSymbol("'`") + } Copyright <- "(C)" { return types.NewSymbol("(C)") @@ -2651,25 +2585,6 @@ DoubleLeftArrow <- "<=" { return types.NewSymbol("<=") } -// The implied apostrophe is used in interior words, and intended to help -// cases like "mother's day". Asciidoctor requires that it be followed by -// a letter (not a digit) but it can have a digit just before it. -TypographicQuote <- - // escaped - `\'` &[\pL] { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(`'`) // retain the apostrophe, but discard the `\` escape char - } - / - // unescaped - &{ - log.Debugf("TypographicQuote at pos %s", c.pos.String()) - return c.isPrecededByAlphanum(), nil - } - `'` &[\pL] { - return types.NewSymbol("'") - } - // ------------------------------------------------------------------------------------- // Tables // ------------------------------------------------------------------------------------- @@ -2748,7 +2663,7 @@ TableColumnsAttribute <- cols:(Column)* EOF { } Column <- - !EOF + NotEOF // TODO: `multiplier` and `weight` with multiple digits and max values // TODO: also support column styles multiplier:(n:Integer "*" { return n, nil })? @@ -2837,20 +2752,96 @@ Alphanums <- [\pL\pN]+ { } InlineWord <- - ([\pL\pN]) // start with letter or number - ([\pL\pN,;?!])* // then other letter, number of punctuation - &(Space / ElementPlaceHolderDelimiter / EOL) + [\pL\pN]+ + // option 1 + // &( + // Space + // / Punctuation + // / ConditionalPunctuation + // / ElementPlaceHolderDelimiter + // / EOL + // / ( `<` / `>` / `&` / `*` / `_` / '`' / '#' / `"` / `'` / "{" / "\\" / ")") + // ) + + // option 2 + // Punctuation? + + // option 3 + ( + Space + / Dot + / &{ + return c.isSubstitutionDisabled(Macros) + } + / &( + !(`:` !(Space / EOL)) + !`@` + ) + ) + // !( + // &{ return c.isSubstitutionEnabled(Macros) } + // &(`@`) + // ) + + // option 4 + // ( Space + // / Punctuation + // / ConditionalPunctuation + // / &( + // EOL + // /ElementPlaceHolderDelimiter + // / ( `<` / `>` / `&` / `*` / `_` / '`' / '#' / `"` / `'` / "{" / "\\" / ")") + // ) + // ) { + log.Debugf("new inlineword: '%v'", string(c.text)) return types.NewStringElement(string(c.text)) } +Dot <- (`.` &(!`..`)) { // avoid conflict with ellipsis (`...`) + log.Debugf("new dot at position '%v'", c.pos.String()) + return string(c.text), nil + } -PunctuationCharacter <- [.,;?!] { - return string(c.text), nil -} +Punctuation <- + ( + ([,;?)!/=-]) // warning: keep `-` in last position in the range! + / (`:` &(Space / EOL)) // ':' at the end of the line + / ( + &{ + return c.isSubstitutionDisabled(Replacements) // only if 'replacements' sub is disabled + } + (`"` / `'` / `(` / ')') + ) + / ( + &{ + return c.isSubstitutionDisabled(Macros) + } + (`:` / `@`) + ) + / ( + &{ + return c.isSubstitutionDisabled(Quotes) + } + ('*' / '_' / '`' / '#') + ) + / ( + &{ + return c.allSubstitutionsDisabled(Macros,Quotes) // all substitutions involving attributes must be disabled + } + (`[` / `]`) + ) + ) + { + log.Debugf("new punctuation: '%v'", string(c.text)) + return string(c.text), nil + } // this is a fall-back rule in case all preceeding rules failed to match the current content. AnyChar <- [^\r\n] { + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("matching anychar '%s' at position %v", string(c.text), c.pos.String()) + } return string(c.text), nil } @@ -2881,10 +2872,11 @@ Scheme <- ("http://" / "https://" / "ftp://" / "irc://" / "mailto:") { Filename <- !"[" // quick escape elements:( - ([^\r\n[\]\uFFFD{.,;?! ])+ { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + ([^\r\n[\]\uFFFD{,;?!>. ])+ { // excluding EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } - / PunctuationCharacter &(!(EOF / Space)) + / Dot &(!(EOF / Space)) + / Punctuation &(!(EOF / Space)) // TODO: needed? / AttributeReference / "{" { return types.NewStringElement(string(c.text)) @@ -2907,11 +2899,11 @@ Float <- ("-"? [0-9]+ "." [0-9]+) { return strconv.ParseFloat(string(c.text), 64) } -Space <- (" " / "\t") { +Space <- [\t ] { return string(c.text), nil } -Spaces <- (" " / "\t")+ { +Spaces <- [\t ]+ { // log.Debug("matched multiple spaces") return string(c.text), nil } @@ -2924,6 +2916,8 @@ SingleNewline <- Newline !Newline { return string(c.text), nil } +NotEOF <- &(.) + EOF <- !. // TODO: remove and use `EOF` instead? diff --git a/pkg/parser/parser_ext.go b/pkg/parser/parser_ext.go index ba2dace4..5ff17be8 100644 --- a/pkg/parser/parser_ext.go +++ b/pkg/parser/parser_ext.go @@ -138,14 +138,14 @@ func (c *current) isPrecededBySpace() bool { } // verifies that previous last character of previous match is neither a -// letter, number, underscore, colon, semicolon, or closing curly bracket +// letter, number, exclamation point, colon, semicolon, or closing curly bracket func (c *current) isSingleQuotedTextAllowed() bool { if r, ok := c.globalStore[suffixTrackingKey].(rune); ok { log.Debugf("---checking if single quoted text is allowed (tracked='%s')", string(r)) // r := rune(d[c.pos.offset]) result := !unicode.IsLetter(r) && !unicode.IsNumber(r) && - // r != '_' && + r != '!' && r != ',' && r != ';' && r != '}' @@ -252,18 +252,37 @@ func (c *current) lookupCurrentSubstitutions() (*substitutions, bool) { return s, found } -func (c *current) isSubstitutionEnabled(k string) bool { +func (c *current) isSubstitutionEnabled(k string) (bool, error) { subs, found := c.lookupCurrentSubstitutions() if !found { log.Debugf("substitutions not set in globalStore: assuming '%s' not enabled", k) - return false // TODO: should return `true`, at least for `attributes`? + return false, nil // TODO: should return `true`, at least for `attributes`? } for _, s := range subs.sequence { if s == k { // log.Debugf("'%s' is enabled", k) - return true + return true, nil } } // log.Debugf("'%s' is not enabled", k) - return false + return false, nil +} + +func (c *current) isSubstitutionDisabled(k string) (bool, error) { + e, err := c.isSubstitutionEnabled(k) + return !e, err +} + +// verifies that ALL substitutions with the given keys are disabled +func (c *current) allSubstitutionsDisabled(keys ...string) (bool, error) { + result := true + for _, k := range keys { + e, err := c.isSubstitutionEnabled(k) + if err != nil { + return false, err + } + result = result && !e + + } + return result, nil } diff --git a/pkg/parser/parser_ext_test.go b/pkg/parser/parser_ext_test.go index b4392b3d..9cffed04 100644 --- a/pkg/parser/parser_ext_test.go +++ b/pkg/parser/parser_ext_test.go @@ -90,5 +90,29 @@ var _ = Describe("block delimiter tracker", func() { // then Expect(t.stack).To(BeEmpty()) }) - }) + +var _ = DescribeTable("all substitutions disabled", + func(keys []string, expected bool) { + c := ¤t{ + state: storeDict{ + enabledSubstitutionsKey: &substitutions{ + sequence: []string{ + InlinePassthroughs, + AttributeRefs, + SpecialCharacters, + // Quotes, // disabled + Replacements, + // Macros, // disabled + PostReplacements, + }, + }, + }, + } + Expect(c.allSubstitutionsDisabled(keys...)).To(Equal(expected)) + }, + // default/built-in subs groups + Entry("none disabled", []string{InlinePassthroughs, AttributeRefs}, false), + Entry("some disabled", []string{InlinePassthroughs, Quotes}, false), + Entry("all disabled", []string{Quotes, Macros}, true), +) diff --git a/pkg/parser/section_test.go b/pkg/parser/section_test.go index af2734be..df2e9164 100644 --- a/pkg/parser/section_test.go +++ b/pkg/parser/section_test.go @@ -910,7 +910,9 @@ a paragraph` It("single with custom inline ID", func() { source := `== a header [[custom_header]]` sectionTitle := []interface{}{ - &types.StringElement{Content: "a header"}, + &types.StringElement{ + Content: "a header", + }, } expected := &types.Document{ Elements: []interface{}{ diff --git a/pkg/renderer/sgml/html5/link_test.go b/pkg/renderer/sgml/html5/link_test.go index 03591857..407646f3 100644 --- a/pkg/renderer/sgml/html5/link_test.go +++ b/pkg/renderer/sgml/html5/link_test.go @@ -85,10 +85,10 @@ a link to <{example}>.` Expect(RenderHTML(source)).To(MatchHTML(expected)) }) - It("with special character in URL", func() { + It("with invalid special character in URL", func() { source := `a link to https://example.com>[].` expected := `
-

a link to https://example.com>.

+

a link to https://example.com>[].

` Expect(RenderHTML(source)).To(MatchHTML(expected)) diff --git a/pkg/types/types.go b/pkg/types/types.go index b5505ca0..cb11001c 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -3650,6 +3650,9 @@ type SpecialCharacter struct { // NewSpecialCharacter return a new SpecialCharacter func NewSpecialCharacter(name string) (*SpecialCharacter, error) { + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("new SpecialCharacter: '%s'", name) + } return &SpecialCharacter{ Name: name, }, nil diff --git a/pkg/types/types_utils.go b/pkg/types/types_utils.go index d4d3074f..71281cb4 100644 --- a/pkg/types/types_utils.go +++ b/pkg/types/types_utils.go @@ -172,6 +172,10 @@ func TrimTrailingSpaces(content []interface{}) []interface{} { if len(content) > 0 { if s, ok := content[len(content)-1].(*StringElement); ok { s.Content = strings.TrimRight(s.Content, " ") + // if last item was an empty isolated trailing space, then remove it + if len(s.Content) == 0 { + content = content[:len(content)-1] + } } } return content diff --git a/pkg/types/types_utils_test.go b/pkg/types/types_utils_test.go index 715145cf..88ff901c 100644 --- a/pkg/types/types_utils_test.go +++ b/pkg/types/types_utils_test.go @@ -52,7 +52,7 @@ var _ = DescribeTable("TrimTrailingSpaces", }, }), - Entry("multiple elements with trailing spaces", + Entry("multiple elements with trailing spaces - case 1", []interface{}{ &types.StringElement{ Content: "cookies", @@ -71,6 +71,22 @@ var _ = DescribeTable("TrimTrailingSpaces", Content: "pasta", // timmed }, }), + Entry("multiple elements with trailing spaces - case 2", + []interface{}{ + &types.StringElement{ + Content: "cookies", + }, + &types.InlineLink{}, + &types.StringElement{ + Content: " ", // isolated trailing space + }, + }, + []interface{}{ + &types.StringElement{ + Content: "cookies", + }, + &types.InlineLink{}, + }), Entry("multiple elements without trailing spaces", []interface{}{