From d02ec9c145263a1ea78d4be1397492e35ff7dd8c Mon Sep 17 00:00:00 2001 From: Xavier Coulon Date: Mon, 6 Jun 2022 15:02:44 +0200 Subject: [PATCH] refactor(parser): section title parsing parse with substitutions enabled, only reparse if contains attribute refs Signed-off-by: Xavier Coulon --- pkg/parser/attributes_test.go | 18 +- ...document_processing_apply_substitutions.go | 67 +- ...ent_processing_apply_substitutions_test.go | 34 +- ...ocument_processing_parse_fragments_test.go | 4 +- pkg/parser/document_test.go | 8 +- pkg/parser/parser.go | 57559 +++++++++------- pkg/parser/parser.peg | 39 +- pkg/parser/section_test.go | 994 - pkg/types/types.go | 22 +- pkg/types/types_utils.go | 2 + 10 files changed, 31185 insertions(+), 27562 deletions(-) diff --git a/pkg/parser/attributes_test.go b/pkg/parser/attributes_test.go index b8865992..e19fca7a 100644 --- a/pkg/parser/attributes_test.go +++ b/pkg/parser/attributes_test.go @@ -338,11 +338,14 @@ var _ = Describe("attributes", func() { &types.Section{ Level: 1, Attributes: types.Attributes{ - types.AttrID: "custom", - types.AttrRoles: types.Roles{"cookie"}, + types.AttrID: "custom", + types.AttrCustomID: true, + types.AttrRoles: types.Roles{"cookie"}, }, Title: []interface{}{ - types.RawLine("Section A"), + &types.StringElement{ + Content: "Section A", + }, }, }, }, @@ -368,11 +371,14 @@ var _ = Describe("attributes", func() { &types.Section{ Level: 1, Attributes: types.Attributes{ - types.AttrID: "custom", - types.AttrRoles: types.Roles{"cookie"}, + types.AttrID: "custom", + types.AttrCustomID: true, + types.AttrRoles: types.Roles{"cookie"}, }, Title: []interface{}{ - types.RawLine("Section A"), + &types.StringElement{ + Content: "Section A", + }, }, }, }, diff --git a/pkg/parser/document_processing_apply_substitutions.go b/pkg/parser/document_processing_apply_substitutions.go index 36f67dc8..d65ca89c 100644 --- a/pkg/parser/document_processing_apply_substitutions.go +++ b/pkg/parser/document_processing_apply_substitutions.go @@ -97,18 +97,65 @@ func applySubstitutionsOnDocumentHeader(ctx *ParseContext, b *types.DocumentHead } func applySubstitutionsOnWithTitle(ctx *ParseContext, b types.WithTitle, opts ...Option) error { - log.Debugf("processing element with title of type '%T' in 3 steps", b) + log.Debugf("processing element with title of type '%T'", b) if err := applySubstitutionsOnAttributes(ctx, b, headerSubstitutions()); err != nil { return err } - opts = append(opts, Entrypoint("HeaderGroup")) - // apply until Attribute substitution included - // TODO: parse InlinePassthroughs and Attributes in the first pass (instead of dumb raw content) - title, err := processSubstitutions(ctx, b.GetTitle(), headerSubstitutions(), opts...) - if err != nil { - return err + // only reparse only if title contains attribute references + if hasAttributeReferenceInSlice(b.GetTitle()) { + opts = append(opts, Entrypoint("HeaderGroup")) + title, err := replaceAttributeRefsAndReparse(ctx, b.GetTitle(), headerSubstitutions()[2:], opts...) + if err != nil { + return err + } + b.SetTitle(title) } - return b.SetTitle(title) + return nil +} + +func hasAttributeReferenceInSlice(elements []interface{}) bool { + for _, e := range elements { + switch e := e.(type) { + case *types.AttributeReference: + log.Debug("found an attribute reference") + return true + case types.WithElements: + if hasAttributeReferenceInAttributes(e.GetAttributes()) { + log.Debug("found an attribute reference in an element attributes") + return true + } + if hasAttributeReferenceInSlice(e.GetElements()) { + log.Debug("found an attribute reference in an element") + return true + } + case types.WithAttributes: + if hasAttributeReferenceInAttributes(e.GetAttributes()) { + log.Debug("found an attribute reference in an element attributes") + return true + } + } + } + return false +} + +func hasAttributeReferenceInAttributes(attrs types.Attributes) bool { + for _, v := range attrs { + switch v := v.(type) { + case []interface{}: + if hasAttributeReferenceInSlice(v) { + return true + } + case types.Roles: + if hasAttributeReferenceInSlice(v) { + return true + } + case types.Options: + if hasAttributeReferenceInSlice(v) { + return true + } + } + } + return false } func applySubstitutionsOnTable(ctx *ParseContext, t *types.Table, opts ...Option) error { @@ -327,6 +374,7 @@ func replaceAttributeRefsAndReparse(ctx *ParseContext, elements []interface{}, s return elements, nil } +// TODO: return bool to see if an attribute ref was replaced func applySubstitutionsOnAttributes(ctx *ParseContext, b types.WithAttributes, subs []string) error { if log.IsLevelEnabled(log.DebugLevel) { log.Debugf("applying substitutions in attributes of element of type '%T':\n%s", b, spew.Sdump(b.GetAttributes())) @@ -621,6 +669,9 @@ func (c *current) isExperimentalEnabled() bool { // ---------------------------------------------- func (c *current) lookupCurrentSubstitutions() ([]string, bool) { + if s, found := c.state[enabledSubstitutions].([]string); found { + return s, true + } s, found := c.globalStore[enabledSubstitutions].([]string) return s, found } diff --git a/pkg/parser/document_processing_apply_substitutions_test.go b/pkg/parser/document_processing_apply_substitutions_test.go index 0f5bf81a..89b71ed7 100644 --- a/pkg/parser/document_processing_apply_substitutions_test.go +++ b/pkg/parser/document_processing_apply_substitutions_test.go @@ -47,7 +47,24 @@ var _ = Describe("apply substitutions", func() { }, }, Title: []interface{}{ - types.RawLine("Document [.{role1}]*{title}*"), + &types.StringElement{ + Content: "Document ", + }, + &types.QuotedText{ + Kind: "*", + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{ + &types.AttributeReference{ + Name: "role1", + }, + }, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "Title", + }, + }, + }, }, Elements: []interface{}{ &types.DocumentAuthors{ // TODO: support attribute references in document authors @@ -122,7 +139,20 @@ var _ = Describe("apply substitutions", func() { }, }, Title: []interface{}{ - types.RawLine("Section [.{role1}]*{title}*"), + &types.StringElement{ + Content: "Section ", + }, + &types.QuotedText{ + Kind: types.SingleQuoteBold, + Attributes: types.Attributes{ + types.AttrRoles: types.Roles{"role_1"}, + }, + Elements: []interface{}{ + &types.StringElement{ + Content: "Title", + }, + }, + }, }, }, }, diff --git a/pkg/parser/document_processing_parse_fragments_test.go b/pkg/parser/document_processing_parse_fragments_test.go index a8990bf8..3b008f74 100644 --- a/pkg/parser/document_processing_parse_fragments_test.go +++ b/pkg/parser/document_processing_parse_fragments_test.go @@ -285,7 +285,9 @@ on &types.Section{ Level: 1, Title: []interface{}{ - types.RawLine("section title"), + &types.StringElement{ + Content: "section title", + }, }, }, }, diff --git a/pkg/parser/document_test.go b/pkg/parser/document_test.go index 4052cd39..93581aeb 100644 --- a/pkg/parser/document_test.go +++ b/pkg/parser/document_test.go @@ -32,7 +32,9 @@ Garrett D'Amore Elements: []interface{}{ &types.DocumentHeader{ Title: []interface{}{ - types.RawLine("My title"), + &types.StringElement{ + Content: "My title", + }, }, Elements: []interface{}{ &types.AttributeDeclaration{ @@ -76,7 +78,9 @@ Garrett D'Amore Elements: []interface{}{ &types.DocumentHeader{ Title: []interface{}{ - types.RawLine("My title"), + &types.StringElement{ + Content: "My title", + }, }, Elements: []interface{}{ &types.AttributeDeclaration{ diff --git a/pkg/parser/parser.go b/pkg/parser/parser.go index 7fcbdca8..df3faa1c 100644 --- a/pkg/parser/parser.go +++ b/pkg/parser/parser.go @@ -98,10 +98,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 350, col: 49, offset: 10749}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine17, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -110,28 +110,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine20, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -140,9 +140,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -205,10 +205,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 352, col: 39, offset: 10870}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine38, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -217,28 +217,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine41, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -247,9 +247,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -327,10 +327,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 70, col: 97, offset: 1850}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine64, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -339,9 +339,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -413,10 +413,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 74, col: 99, offset: 2028}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine83, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -425,9 +425,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -937,24 +937,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonDocumentRawLine183, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -970,10 +970,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 84, col: 35, offset: 2262}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine190, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1053,10 +1053,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 85, col: 39, offset: 2308}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine207, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1556,24 +1556,24 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonDocumentRawLine302, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -1595,10 +1595,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 87, col: 5, offset: 2360}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine310, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1607,9 +1607,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -1684,10 +1684,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 123, col: 98, offset: 3417}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine330, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1696,9 +1696,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -1713,7 +1713,7 @@ var g = &grammar{ ¬Expr{ pos: position{line: 718, col: 5, offset: 22952}, expr: &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -1764,10 +1764,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine349, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1776,28 +1776,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine352, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1806,9 +1806,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -1853,10 +1853,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine368, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1865,28 +1865,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine371, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1895,9 +1895,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -1938,10 +1938,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 754, col: 52, offset: 24256}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine386, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -1950,28 +1950,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine389, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -1980,9 +1980,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2027,10 +2027,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine405, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2039,28 +2039,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine408, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2069,9 +2069,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2116,10 +2116,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine424, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2128,28 +2128,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine427, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2158,9 +2158,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2205,10 +2205,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine443, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2217,28 +2217,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine446, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2247,9 +2247,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2294,10 +2294,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine462, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2306,28 +2306,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine465, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2336,9 +2336,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2383,10 +2383,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine481, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2395,28 +2395,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine484, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2425,9 +2425,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2472,10 +2472,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentRawLine500, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2484,28 +2484,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentRawLine503, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -2514,9 +2514,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2566,12 +2566,12 @@ var g = &grammar{ run: (*parser).callonDocumentRawLine518, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonDocumentRawLine519, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -2580,12 +2580,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonDocumentRawLine522, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -2594,9 +2594,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2606,9 +2606,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -2643,46 +2643,46 @@ var g = &grammar{ pos: position{line: 137, col: 9, offset: 3810}, label: "path", expr: &actionExpr{ - pos: position{line: 3021, col: 17, offset: 96954}, + pos: position{line: 3052, col: 17, offset: 97855}, run: (*parser).callonFileInclusion8, expr: &labeledExpr{ - pos: position{line: 3021, col: 17, offset: 96954}, + pos: position{line: 3052, col: 17, offset: 97855}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3021, col: 22, offset: 96959}, + pos: position{line: 3052, col: 22, offset: 97860}, expr: &choiceExpr{ - pos: position{line: 3021, col: 23, offset: 96960}, + pos: position{line: 3052, col: 23, offset: 97861}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonFileInclusion12, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonFileInclusion19, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -2691,13 +2691,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonFileInclusion23, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -2705,23 +2705,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonFileInclusion30, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3089,23 +3089,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonFileInclusion101, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonFileInclusion103, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonFileInclusion106, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -3126,12 +3126,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonFileInclusion112, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -3143,10 +3143,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonFileInclusion116, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3344,12 +3344,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonFileInclusion154, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -3371,10 +3371,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonFileInclusion158, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -3388,10 +3388,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonFileInclusion160, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -3464,10 +3464,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 142, col: 5, offset: 4006}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonFileInclusion173, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -3476,28 +3476,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonFileInclusion176, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -3506,9 +3506,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -3554,24 +3554,24 @@ var g = &grammar{ pos: position{line: 165, col: 19, offset: 4708}, label: "start", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges12, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3592,24 +3592,24 @@ var g = &grammar{ pos: position{line: 165, col: 40, offset: 4729}, label: "end", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges20, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3630,24 +3630,24 @@ var g = &grammar{ pos: position{line: 169, col: 20, offset: 4850}, label: "singleline", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges28, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3696,24 +3696,24 @@ var g = &grammar{ pos: position{line: 165, col: 19, offset: 4708}, label: "start", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges44, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3734,24 +3734,24 @@ var g = &grammar{ pos: position{line: 165, col: 40, offset: 4729}, label: "end", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges52, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3772,24 +3772,24 @@ var g = &grammar{ pos: position{line: 169, col: 20, offset: 4850}, label: "singleline", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges60, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3822,24 +3822,24 @@ var g = &grammar{ pos: position{line: 165, col: 19, offset: 4708}, label: "start", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges69, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3860,24 +3860,24 @@ var g = &grammar{ pos: position{line: 165, col: 40, offset: 4729}, label: "end", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges77, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3898,24 +3898,24 @@ var g = &grammar{ pos: position{line: 169, col: 20, offset: 4850}, label: "singleline", expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, + pos: position{line: 3088, col: 12, offset: 99064}, run: (*parser).callonLineRanges85, expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, exprs: []interface{}{ &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, + pos: position{line: 3088, col: 13, offset: 99065}, val: "-", ignoreCase: false, want: "\"-\"", }, }, &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, + pos: position{line: 3088, col: 18, offset: 99070}, val: "[0-9]", ranges: []rune{'0', '9'}, ignoreCase: false, @@ -3931,9 +3931,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -3974,12 +3974,12 @@ var g = &grammar{ pos: position{line: 187, col: 18, offset: 5451}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonTagRanges11, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4041,12 +4041,12 @@ var g = &grammar{ pos: position{line: 189, col: 18, offset: 5548}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonTagRanges26, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4128,12 +4128,12 @@ var g = &grammar{ pos: position{line: 187, col: 18, offset: 5451}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonTagRanges46, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4195,12 +4195,12 @@ var g = &grammar{ pos: position{line: 189, col: 18, offset: 5548}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonTagRanges61, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4258,9 +4258,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -4303,12 +4303,12 @@ var g = &grammar{ pos: position{line: 207, col: 38, offset: 6102}, run: (*parser).callonIncludedFileLine10, expr: &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonIncludedFileLine11, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4347,12 +4347,12 @@ var g = &grammar{ pos: position{line: 211, col: 36, offset: 6250}, run: (*parser).callonIncludedFileLine19, expr: &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonIncludedFileLine20, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -4384,28 +4384,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonIncludedFileLine27, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4414,9 +4414,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -4437,9 +4437,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 228, col: 5, offset: 6800}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -4541,10 +4541,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 350, col: 49, offset: 10749}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentFragment29, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4553,28 +4553,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentFragment32, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4583,9 +4583,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -4648,10 +4648,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 352, col: 39, offset: 10870}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentFragment50, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4660,28 +4660,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentFragment53, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4690,9 +4690,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -4709,19 +4709,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDocumentFragment66, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4730,28 +4730,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDocumentFragment69, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4760,9 +4760,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -4770,119 +4770,19 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2546, col: 5, offset: 83118}, - run: (*parser).callonDocumentFragment76, - expr: &seqExpr{ - pos: position{line: 2546, col: 5, offset: 83118}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2546, col: 5, offset: 83118}, - run: (*parser).callonDocumentFragment78, - }, - &labeledExpr{ - pos: position{line: 2549, col: 5, offset: 83181}, - label: "level", - expr: &actionExpr{ - pos: position{line: 2549, col: 12, offset: 83188}, - run: (*parser).callonDocumentFragment80, - expr: &oneOrMoreExpr{ - pos: position{line: 2549, col: 12, offset: 83188}, - expr: &litMatcher{ - pos: position{line: 2549, col: 13, offset: 83189}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2553, col: 5, offset: 83297}, - run: (*parser).callonDocumentFragment83, - }, - &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - run: (*parser).callonDocumentFragment84, - expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2557, col: 12, offset: 83456}, - label: "title", - expr: &actionExpr{ - pos: position{line: 2561, col: 17, offset: 83575}, - run: (*parser).callonDocumentFragment88, - expr: &oneOrMoreExpr{ - pos: position{line: 2561, col: 17, offset: 83575}, - expr: &charClassMatcher{ - pos: position{line: 2561, col: 17, offset: 83575}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment92, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, + &ruleRefExpr{ + pos: position{line: 244, col: 11, offset: 7450}, + name: "Section", }, &actionExpr{ pos: position{line: 814, col: 5, offset: 26232}, - run: (*parser).callonDocumentFragment99, + run: (*parser).callonDocumentFragment77, expr: &seqExpr{ pos: position{line: 814, col: 5, offset: 26232}, exprs: []interface{}{ &actionExpr{ pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentFragment101, + run: (*parser).callonDocumentFragment79, expr: &seqExpr{ pos: position{line: 734, col: 5, offset: 23494}, exprs: []interface{}{ @@ -4891,7 +4791,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentFragment104, + run: (*parser).callonDocumentFragment82, expr: &seqExpr{ pos: position{line: 734, col: 16, offset: 23505}, exprs: []interface{}{ @@ -4917,10 +4817,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment110, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment88, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -4929,28 +4829,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment113, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment91, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -4959,9 +4859,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -4976,7 +4876,7 @@ var g = &grammar{ pos: position{line: 825, col: 5, offset: 26549}, expr: &actionExpr{ pos: position{line: 825, col: 6, offset: 26550}, - run: (*parser).callonDocumentFragment122, + run: (*parser).callonDocumentFragment100, expr: &seqExpr{ pos: position{line: 825, col: 6, offset: 26550}, exprs: []interface{}{ @@ -4987,7 +4887,7 @@ var g = &grammar{ alternatives: []interface{}{ &actionExpr{ pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentFragment126, + run: (*parser).callonDocumentFragment104, expr: &seqExpr{ pos: position{line: 734, col: 5, offset: 23494}, exprs: []interface{}{ @@ -4996,7 +4896,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentFragment129, + run: (*parser).callonDocumentFragment107, expr: &seqExpr{ pos: position{line: 734, col: 16, offset: 23505}, exprs: []interface{}{ @@ -5022,10 +4922,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment135, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment113, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5034,28 +4934,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment138, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment116, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5064,9 +4964,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5075,9 +4975,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5088,16 +4988,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment148, + run: (*parser).callonDocumentFragment126, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5105,12 +5005,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment154, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment132, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5120,28 +5020,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment158, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment136, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5150,9 +5050,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5173,7 +5073,7 @@ var g = &grammar{ alternatives: []interface{}{ &actionExpr{ pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentFragment167, + run: (*parser).callonDocumentFragment145, expr: &seqExpr{ pos: position{line: 734, col: 5, offset: 23494}, exprs: []interface{}{ @@ -5182,7 +5082,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentFragment170, + run: (*parser).callonDocumentFragment148, expr: &seqExpr{ pos: position{line: 734, col: 16, offset: 23505}, exprs: []interface{}{ @@ -5208,10 +5108,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment176, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment154, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5220,28 +5120,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment179, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment157, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5250,9 +5150,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5261,9 +5161,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5274,7 +5174,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 834, col: 5, offset: 26733}, - run: (*parser).callonDocumentFragment188, + run: (*parser).callonDocumentFragment166, expr: &seqExpr{ pos: position{line: 834, col: 5, offset: 26733}, exprs: []interface{}{ @@ -5283,7 +5183,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 741, col: 5, offset: 23742}, - run: (*parser).callonDocumentFragment191, + run: (*parser).callonDocumentFragment169, expr: &seqExpr{ pos: position{line: 741, col: 5, offset: 23742}, exprs: []interface{}{ @@ -5292,7 +5192,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 741, col: 16, offset: 23753}, - run: (*parser).callonDocumentFragment194, + run: (*parser).callonDocumentFragment172, expr: &seqExpr{ pos: position{line: 741, col: 16, offset: 23753}, exprs: []interface{}{ @@ -5318,10 +5218,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment200, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment178, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5330,28 +5230,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment203, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment181, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5360,9 +5260,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5373,7 +5273,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 835, col: 5, offset: 26772}, - run: (*parser).callonDocumentFragment210, + run: (*parser).callonDocumentFragment188, }, &labeledExpr{ pos: position{line: 838, col: 5, offset: 26864}, @@ -5382,7 +5282,7 @@ var g = &grammar{ pos: position{line: 853, col: 4, offset: 27261}, expr: &actionExpr{ pos: position{line: 853, col: 5, offset: 27262}, - run: (*parser).callonDocumentFragment213, + run: (*parser).callonDocumentFragment191, expr: &seqExpr{ pos: position{line: 853, col: 5, offset: 27262}, exprs: []interface{}{ @@ -5399,7 +5299,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 741, col: 5, offset: 23742}, - run: (*parser).callonDocumentFragment219, + run: (*parser).callonDocumentFragment197, expr: &seqExpr{ pos: position{line: 741, col: 5, offset: 23742}, exprs: []interface{}{ @@ -5408,7 +5308,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 741, col: 16, offset: 23753}, - run: (*parser).callonDocumentFragment222, + run: (*parser).callonDocumentFragment200, expr: &seqExpr{ pos: position{line: 741, col: 16, offset: 23753}, exprs: []interface{}{ @@ -5434,10 +5334,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment228, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment206, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5446,28 +5346,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment231, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment209, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5476,9 +5376,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5489,14 +5389,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 847, col: 5, offset: 27135}, - run: (*parser).callonDocumentFragment238, + run: (*parser).callonDocumentFragment216, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5507,16 +5407,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment242, + run: (*parser).callonDocumentFragment220, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5524,12 +5424,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment248, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment226, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5539,28 +5439,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment252, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment230, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5569,9 +5469,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5601,7 +5501,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 741, col: 5, offset: 23742}, - run: (*parser).callonDocumentFragment264, + run: (*parser).callonDocumentFragment242, expr: &seqExpr{ pos: position{line: 741, col: 5, offset: 23742}, exprs: []interface{}{ @@ -5610,7 +5510,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 741, col: 16, offset: 23753}, - run: (*parser).callonDocumentFragment267, + run: (*parser).callonDocumentFragment245, expr: &seqExpr{ pos: position{line: 741, col: 16, offset: 23753}, exprs: []interface{}{ @@ -5636,10 +5536,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment273, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment251, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5648,28 +5548,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment276, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment254, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5678,9 +5578,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5691,14 +5591,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 847, col: 5, offset: 27135}, - run: (*parser).callonDocumentFragment283, + run: (*parser).callonDocumentFragment261, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5710,7 +5610,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 946, col: 5, offset: 29584}, - run: (*parser).callonDocumentFragment286, + run: (*parser).callonDocumentFragment264, expr: &seqExpr{ pos: position{line: 946, col: 5, offset: 29584}, exprs: []interface{}{ @@ -5719,7 +5619,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 754, col: 26, offset: 24230}, - run: (*parser).callonDocumentFragment289, + run: (*parser).callonDocumentFragment267, expr: &seqExpr{ pos: position{line: 754, col: 26, offset: 24230}, exprs: []interface{}{ @@ -5734,7 +5634,7 @@ var g = &grammar{ label: "language", expr: &actionExpr{ pos: position{line: 758, col: 13, offset: 24366}, - run: (*parser).callonDocumentFragment293, + run: (*parser).callonDocumentFragment271, expr: &oneOrMoreExpr{ pos: position{line: 758, col: 14, offset: 24367}, expr: &charClassMatcher{ @@ -5750,10 +5650,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 754, col: 52, offset: 24256}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment297, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment275, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5762,28 +5662,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment300, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment278, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5792,9 +5692,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5810,7 +5710,7 @@ var g = &grammar{ pos: position{line: 960, col: 5, offset: 30103}, expr: &actionExpr{ pos: position{line: 960, col: 6, offset: 30104}, - run: (*parser).callonDocumentFragment309, + run: (*parser).callonDocumentFragment287, expr: &seqExpr{ pos: position{line: 960, col: 6, offset: 30104}, exprs: []interface{}{ @@ -5828,10 +5728,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 957, col: 40, offset: 30057}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment315, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment293, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5840,28 +5740,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment318, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment296, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5870,9 +5770,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5885,16 +5785,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment326, + run: (*parser).callonDocumentFragment304, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5902,12 +5802,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment332, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment310, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -5917,28 +5817,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment336, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment314, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -5947,9 +5847,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -5977,10 +5877,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 957, col: 40, offset: 30057}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment347, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment325, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -5989,28 +5889,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment350, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment328, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6019,9 +5919,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6034,7 +5934,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 862, col: 5, offset: 27445}, - run: (*parser).callonDocumentFragment357, + run: (*parser).callonDocumentFragment335, expr: &seqExpr{ pos: position{line: 862, col: 5, offset: 27445}, exprs: []interface{}{ @@ -6043,7 +5943,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 748, col: 5, offset: 23989}, - run: (*parser).callonDocumentFragment360, + run: (*parser).callonDocumentFragment338, expr: &seqExpr{ pos: position{line: 748, col: 5, offset: 23989}, exprs: []interface{}{ @@ -6052,7 +5952,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 748, col: 16, offset: 24000}, - run: (*parser).callonDocumentFragment363, + run: (*parser).callonDocumentFragment341, expr: &seqExpr{ pos: position{line: 748, col: 16, offset: 24000}, exprs: []interface{}{ @@ -6078,10 +5978,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment369, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment347, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6090,28 +5990,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment372, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment350, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6120,9 +6020,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6133,7 +6033,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 863, col: 5, offset: 27483}, - run: (*parser).callonDocumentFragment379, + run: (*parser).callonDocumentFragment357, }, &labeledExpr{ pos: position{line: 866, col: 5, offset: 27575}, @@ -6142,7 +6042,7 @@ var g = &grammar{ pos: position{line: 881, col: 5, offset: 27965}, expr: &actionExpr{ pos: position{line: 881, col: 6, offset: 27966}, - run: (*parser).callonDocumentFragment382, + run: (*parser).callonDocumentFragment360, expr: &seqExpr{ pos: position{line: 881, col: 6, offset: 27966}, exprs: []interface{}{ @@ -6159,7 +6059,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 748, col: 5, offset: 23989}, - run: (*parser).callonDocumentFragment388, + run: (*parser).callonDocumentFragment366, expr: &seqExpr{ pos: position{line: 748, col: 5, offset: 23989}, exprs: []interface{}{ @@ -6168,7 +6068,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 748, col: 16, offset: 24000}, - run: (*parser).callonDocumentFragment391, + run: (*parser).callonDocumentFragment369, expr: &seqExpr{ pos: position{line: 748, col: 16, offset: 24000}, exprs: []interface{}{ @@ -6194,10 +6094,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment397, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment375, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6206,28 +6106,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment400, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment378, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6236,9 +6136,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6249,14 +6149,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 875, col: 5, offset: 27839}, - run: (*parser).callonDocumentFragment407, + run: (*parser).callonDocumentFragment385, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6267,16 +6167,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment411, + run: (*parser).callonDocumentFragment389, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6284,12 +6184,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment417, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment395, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6299,28 +6199,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment421, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment399, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6329,9 +6229,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6361,7 +6261,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 748, col: 5, offset: 23989}, - run: (*parser).callonDocumentFragment433, + run: (*parser).callonDocumentFragment411, expr: &seqExpr{ pos: position{line: 748, col: 5, offset: 23989}, exprs: []interface{}{ @@ -6370,7 +6270,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 748, col: 16, offset: 24000}, - run: (*parser).callonDocumentFragment436, + run: (*parser).callonDocumentFragment414, expr: &seqExpr{ pos: position{line: 748, col: 16, offset: 24000}, exprs: []interface{}{ @@ -6396,10 +6296,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment442, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment420, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6408,28 +6308,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment445, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment423, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6438,9 +6338,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6451,14 +6351,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 875, col: 5, offset: 27839}, - run: (*parser).callonDocumentFragment452, + run: (*parser).callonDocumentFragment430, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6470,7 +6370,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 890, col: 5, offset: 28150}, - run: (*parser).callonDocumentFragment455, + run: (*parser).callonDocumentFragment433, expr: &seqExpr{ pos: position{line: 890, col: 5, offset: 28150}, exprs: []interface{}{ @@ -6479,7 +6379,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 763, col: 5, offset: 24526}, - run: (*parser).callonDocumentFragment458, + run: (*parser).callonDocumentFragment436, expr: &seqExpr{ pos: position{line: 763, col: 5, offset: 24526}, exprs: []interface{}{ @@ -6488,7 +6388,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 763, col: 16, offset: 24537}, - run: (*parser).callonDocumentFragment461, + run: (*parser).callonDocumentFragment439, expr: &seqExpr{ pos: position{line: 763, col: 16, offset: 24537}, exprs: []interface{}{ @@ -6514,10 +6414,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment467, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment445, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6526,28 +6426,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment470, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment448, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6556,9 +6456,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6569,7 +6469,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 891, col: 5, offset: 28189}, - run: (*parser).callonDocumentFragment477, + run: (*parser).callonDocumentFragment455, }, &labeledExpr{ pos: position{line: 894, col: 5, offset: 28281}, @@ -6578,7 +6478,7 @@ var g = &grammar{ pos: position{line: 909, col: 5, offset: 28679}, expr: &actionExpr{ pos: position{line: 909, col: 6, offset: 28680}, - run: (*parser).callonDocumentFragment480, + run: (*parser).callonDocumentFragment458, expr: &seqExpr{ pos: position{line: 909, col: 6, offset: 28680}, exprs: []interface{}{ @@ -6595,7 +6495,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 763, col: 5, offset: 24526}, - run: (*parser).callonDocumentFragment486, + run: (*parser).callonDocumentFragment464, expr: &seqExpr{ pos: position{line: 763, col: 5, offset: 24526}, exprs: []interface{}{ @@ -6604,7 +6504,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 763, col: 16, offset: 24537}, - run: (*parser).callonDocumentFragment489, + run: (*parser).callonDocumentFragment467, expr: &seqExpr{ pos: position{line: 763, col: 16, offset: 24537}, exprs: []interface{}{ @@ -6630,10 +6530,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment495, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment473, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6642,28 +6542,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment498, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment476, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6672,9 +6572,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6685,14 +6585,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 903, col: 5, offset: 28552}, - run: (*parser).callonDocumentFragment505, + run: (*parser).callonDocumentFragment483, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6703,16 +6603,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment509, + run: (*parser).callonDocumentFragment487, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6720,12 +6620,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment515, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment493, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -6735,28 +6635,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment519, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment497, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6765,9 +6665,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6797,7 +6697,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 763, col: 5, offset: 24526}, - run: (*parser).callonDocumentFragment531, + run: (*parser).callonDocumentFragment509, expr: &seqExpr{ pos: position{line: 763, col: 5, offset: 24526}, exprs: []interface{}{ @@ -6806,7 +6706,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 763, col: 16, offset: 24537}, - run: (*parser).callonDocumentFragment534, + run: (*parser).callonDocumentFragment512, expr: &seqExpr{ pos: position{line: 763, col: 16, offset: 24537}, exprs: []interface{}{ @@ -6832,10 +6732,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment540, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment518, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6844,28 +6744,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment543, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment521, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6874,9 +6774,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6887,14 +6787,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 903, col: 5, offset: 28552}, - run: (*parser).callonDocumentFragment550, + run: (*parser).callonDocumentFragment528, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -6906,7 +6806,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 918, col: 5, offset: 28865}, - run: (*parser).callonDocumentFragment553, + run: (*parser).callonDocumentFragment531, expr: &seqExpr{ pos: position{line: 918, col: 5, offset: 28865}, exprs: []interface{}{ @@ -6915,7 +6815,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 777, col: 5, offset: 25002}, - run: (*parser).callonDocumentFragment556, + run: (*parser).callonDocumentFragment534, expr: &seqExpr{ pos: position{line: 777, col: 5, offset: 25002}, exprs: []interface{}{ @@ -6924,7 +6824,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 777, col: 16, offset: 25013}, - run: (*parser).callonDocumentFragment559, + run: (*parser).callonDocumentFragment537, expr: &seqExpr{ pos: position{line: 777, col: 16, offset: 25013}, exprs: []interface{}{ @@ -6950,10 +6850,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment565, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment543, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -6962,28 +6862,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment568, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment546, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -6992,9 +6892,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7005,7 +6905,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 919, col: 5, offset: 28904}, - run: (*parser).callonDocumentFragment575, + run: (*parser).callonDocumentFragment553, }, &labeledExpr{ pos: position{line: 922, col: 5, offset: 28996}, @@ -7014,7 +6914,7 @@ var g = &grammar{ pos: position{line: 937, col: 5, offset: 29394}, expr: &actionExpr{ pos: position{line: 937, col: 6, offset: 29395}, - run: (*parser).callonDocumentFragment578, + run: (*parser).callonDocumentFragment556, expr: &seqExpr{ pos: position{line: 937, col: 6, offset: 29395}, exprs: []interface{}{ @@ -7031,7 +6931,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 777, col: 5, offset: 25002}, - run: (*parser).callonDocumentFragment584, + run: (*parser).callonDocumentFragment562, expr: &seqExpr{ pos: position{line: 777, col: 5, offset: 25002}, exprs: []interface{}{ @@ -7040,7 +6940,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 777, col: 16, offset: 25013}, - run: (*parser).callonDocumentFragment587, + run: (*parser).callonDocumentFragment565, expr: &seqExpr{ pos: position{line: 777, col: 16, offset: 25013}, exprs: []interface{}{ @@ -7066,10 +6966,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment593, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment571, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7078,28 +6978,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment596, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment574, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7108,9 +7008,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7121,14 +7021,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 931, col: 5, offset: 29267}, - run: (*parser).callonDocumentFragment603, + run: (*parser).callonDocumentFragment581, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7139,16 +7039,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment607, + run: (*parser).callonDocumentFragment585, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7156,12 +7056,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment613, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment591, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7171,28 +7071,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment617, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment595, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7201,9 +7101,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7233,7 +7133,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 777, col: 5, offset: 25002}, - run: (*parser).callonDocumentFragment629, + run: (*parser).callonDocumentFragment607, expr: &seqExpr{ pos: position{line: 777, col: 5, offset: 25002}, exprs: []interface{}{ @@ -7242,7 +7142,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 777, col: 16, offset: 25013}, - run: (*parser).callonDocumentFragment632, + run: (*parser).callonDocumentFragment610, expr: &seqExpr{ pos: position{line: 777, col: 16, offset: 25013}, exprs: []interface{}{ @@ -7268,10 +7168,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment638, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment616, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7280,28 +7180,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment641, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment619, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7310,9 +7210,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7323,14 +7223,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 931, col: 5, offset: 29267}, - run: (*parser).callonDocumentFragment648, + run: (*parser).callonDocumentFragment626, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7342,7 +7242,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 969, col: 5, offset: 30308}, - run: (*parser).callonDocumentFragment651, + run: (*parser).callonDocumentFragment629, expr: &seqExpr{ pos: position{line: 969, col: 5, offset: 30308}, exprs: []interface{}{ @@ -7351,7 +7251,7 @@ var g = &grammar{ label: "firstLine", expr: &actionExpr{ pos: position{line: 976, col: 5, offset: 30567}, - run: (*parser).callonDocumentFragment654, + run: (*parser).callonDocumentFragment632, expr: &seqExpr{ pos: position{line: 976, col: 5, offset: 30567}, exprs: []interface{}{ @@ -7359,26 +7259,26 @@ var g = &grammar{ pos: position{line: 976, col: 5, offset: 30567}, expr: &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, - run: (*parser).callonDocumentFragment657, + run: (*parser).callonDocumentFragment635, expr: &seqExpr{ pos: position{line: 671, col: 14, offset: 21401}, exprs: []interface{}{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment663, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment641, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7387,28 +7287,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment666, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment644, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7417,9 +7317,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7438,12 +7338,12 @@ var g = &grammar{ pos: position{line: 978, col: 5, offset: 30592}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, - run: (*parser).callonDocumentFragment675, + pos: position{line: 3048, col: 14, offset: 97785}, + run: (*parser).callonDocumentFragment653, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7453,28 +7353,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment679, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment657, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7483,9 +7383,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7504,7 +7404,7 @@ var g = &grammar{ alternatives: []interface{}{ &actionExpr{ pos: position{line: 976, col: 5, offset: 30567}, - run: (*parser).callonDocumentFragment689, + run: (*parser).callonDocumentFragment667, expr: &seqExpr{ pos: position{line: 976, col: 5, offset: 30567}, exprs: []interface{}{ @@ -7512,26 +7412,26 @@ var g = &grammar{ pos: position{line: 976, col: 5, offset: 30567}, expr: &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, - run: (*parser).callonDocumentFragment692, + run: (*parser).callonDocumentFragment670, expr: &seqExpr{ pos: position{line: 671, col: 14, offset: 21401}, exprs: []interface{}{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment698, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment676, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7540,28 +7440,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment701, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment679, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7570,9 +7470,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7591,12 +7491,12 @@ var g = &grammar{ pos: position{line: 978, col: 5, offset: 30592}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, - run: (*parser).callonDocumentFragment710, + pos: position{line: 3048, col: 14, offset: 97785}, + run: (*parser).callonDocumentFragment688, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7606,28 +7506,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment714, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment692, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7636,9 +7536,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7648,7 +7548,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 1795, col: 5, offset: 57981}, - run: (*parser).callonDocumentFragment721, + run: (*parser).callonDocumentFragment699, expr: &seqExpr{ pos: position{line: 1795, col: 5, offset: 57981}, exprs: []interface{}{ @@ -7656,12 +7556,12 @@ var g = &grammar{ pos: position{line: 1795, col: 5, offset: 57981}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, - run: (*parser).callonDocumentFragment724, + pos: position{line: 3048, col: 14, offset: 97785}, + run: (*parser).callonDocumentFragment702, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7672,31 +7572,31 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1796, col: 5, offset: 58005}, - run: (*parser).callonDocumentFragment727, + run: (*parser).callonDocumentFragment705, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment729, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment707, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7705,9 +7605,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7724,7 +7624,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 991, col: 5, offset: 30857}, - run: (*parser).callonDocumentFragment736, + run: (*parser).callonDocumentFragment714, expr: &seqExpr{ pos: position{line: 991, col: 5, offset: 30857}, exprs: []interface{}{ @@ -7733,7 +7633,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 770, col: 5, offset: 24771}, - run: (*parser).callonDocumentFragment739, + run: (*parser).callonDocumentFragment717, expr: &seqExpr{ pos: position{line: 770, col: 5, offset: 24771}, exprs: []interface{}{ @@ -7742,7 +7642,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 770, col: 16, offset: 24782}, - run: (*parser).callonDocumentFragment742, + run: (*parser).callonDocumentFragment720, expr: &litMatcher{ pos: position{line: 770, col: 16, offset: 24782}, val: "--", @@ -7754,10 +7654,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 772, col: 8, offset: 24859}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment745, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment723, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7766,28 +7666,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment748, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment726, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7796,9 +7696,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7814,7 +7714,7 @@ var g = &grammar{ pos: position{line: 1002, col: 5, offset: 31161}, expr: &actionExpr{ pos: position{line: 1002, col: 6, offset: 31162}, - run: (*parser).callonDocumentFragment757, + run: (*parser).callonDocumentFragment735, expr: &seqExpr{ pos: position{line: 1002, col: 6, offset: 31162}, exprs: []interface{}{ @@ -7825,7 +7725,7 @@ var g = &grammar{ alternatives: []interface{}{ &actionExpr{ pos: position{line: 770, col: 5, offset: 24771}, - run: (*parser).callonDocumentFragment761, + run: (*parser).callonDocumentFragment739, expr: &seqExpr{ pos: position{line: 770, col: 5, offset: 24771}, exprs: []interface{}{ @@ -7834,7 +7734,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 770, col: 16, offset: 24782}, - run: (*parser).callonDocumentFragment764, + run: (*parser).callonDocumentFragment742, expr: &litMatcher{ pos: position{line: 770, col: 16, offset: 24782}, val: "--", @@ -7846,10 +7746,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 772, col: 8, offset: 24859}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment767, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment745, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -7858,28 +7758,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment770, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment748, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7888,9 +7788,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7899,9 +7799,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7912,16 +7812,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment780, + run: (*parser).callonDocumentFragment758, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -7929,12 +7829,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment786, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment764, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -7944,28 +7844,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment790, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment768, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -7974,9 +7874,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8000,7 +7900,7 @@ var g = &grammar{ alternatives: []interface{}{ &actionExpr{ pos: position{line: 770, col: 5, offset: 24771}, - run: (*parser).callonDocumentFragment800, + run: (*parser).callonDocumentFragment778, expr: &seqExpr{ pos: position{line: 770, col: 5, offset: 24771}, exprs: []interface{}{ @@ -8009,7 +7909,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 770, col: 16, offset: 24782}, - run: (*parser).callonDocumentFragment803, + run: (*parser).callonDocumentFragment781, expr: &litMatcher{ pos: position{line: 770, col: 16, offset: 24782}, val: "--", @@ -8021,10 +7921,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 772, col: 8, offset: 24859}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment806, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment784, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8033,28 +7933,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment809, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment787, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8063,9 +7963,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8074,9 +7974,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8088,7 +7988,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 1011, col: 5, offset: 31352}, - run: (*parser).callonDocumentFragment818, + run: (*parser).callonDocumentFragment796, expr: &seqExpr{ pos: position{line: 1011, col: 5, offset: 31352}, exprs: []interface{}{ @@ -8097,7 +7997,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 784, col: 5, offset: 25254}, - run: (*parser).callonDocumentFragment821, + run: (*parser).callonDocumentFragment799, expr: &seqExpr{ pos: position{line: 784, col: 5, offset: 25254}, exprs: []interface{}{ @@ -8106,7 +8006,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 784, col: 16, offset: 25265}, - run: (*parser).callonDocumentFragment824, + run: (*parser).callonDocumentFragment802, expr: &seqExpr{ pos: position{line: 784, col: 16, offset: 25265}, exprs: []interface{}{ @@ -8132,10 +8032,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment830, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment808, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8144,28 +8044,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment833, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment811, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8174,9 +8074,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8187,7 +8087,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1012, col: 5, offset: 31395}, - run: (*parser).callonDocumentFragment840, + run: (*parser).callonDocumentFragment818, }, &labeledExpr{ pos: position{line: 1015, col: 5, offset: 31487}, @@ -8196,7 +8096,7 @@ var g = &grammar{ pos: position{line: 1030, col: 5, offset: 31917}, expr: &actionExpr{ pos: position{line: 1030, col: 6, offset: 31918}, - run: (*parser).callonDocumentFragment843, + run: (*parser).callonDocumentFragment821, expr: &seqExpr{ pos: position{line: 1030, col: 6, offset: 31918}, exprs: []interface{}{ @@ -8213,7 +8113,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 784, col: 5, offset: 25254}, - run: (*parser).callonDocumentFragment849, + run: (*parser).callonDocumentFragment827, expr: &seqExpr{ pos: position{line: 784, col: 5, offset: 25254}, exprs: []interface{}{ @@ -8222,7 +8122,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 784, col: 16, offset: 25265}, - run: (*parser).callonDocumentFragment852, + run: (*parser).callonDocumentFragment830, expr: &seqExpr{ pos: position{line: 784, col: 16, offset: 25265}, exprs: []interface{}{ @@ -8248,10 +8148,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment858, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment836, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8260,28 +8160,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment861, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment839, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8290,9 +8190,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8303,14 +8203,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1024, col: 5, offset: 31786}, - run: (*parser).callonDocumentFragment868, + run: (*parser).callonDocumentFragment846, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8321,16 +8221,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment872, + run: (*parser).callonDocumentFragment850, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8338,12 +8238,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment878, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment856, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8353,28 +8253,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment882, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment860, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8383,9 +8283,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8415,7 +8315,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 784, col: 5, offset: 25254}, - run: (*parser).callonDocumentFragment894, + run: (*parser).callonDocumentFragment872, expr: &seqExpr{ pos: position{line: 784, col: 5, offset: 25254}, exprs: []interface{}{ @@ -8424,7 +8324,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 784, col: 16, offset: 25265}, - run: (*parser).callonDocumentFragment897, + run: (*parser).callonDocumentFragment875, expr: &seqExpr{ pos: position{line: 784, col: 16, offset: 25265}, exprs: []interface{}{ @@ -8450,10 +8350,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment903, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment881, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8462,28 +8362,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment906, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment884, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8492,9 +8392,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8505,14 +8405,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1024, col: 5, offset: 31786}, - run: (*parser).callonDocumentFragment913, + run: (*parser).callonDocumentFragment891, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8524,7 +8424,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 1039, col: 5, offset: 32103}, - run: (*parser).callonDocumentFragment916, + run: (*parser).callonDocumentFragment894, expr: &seqExpr{ pos: position{line: 1039, col: 5, offset: 32103}, exprs: []interface{}{ @@ -8533,7 +8433,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 791, col: 5, offset: 25504}, - run: (*parser).callonDocumentFragment919, + run: (*parser).callonDocumentFragment897, expr: &seqExpr{ pos: position{line: 791, col: 5, offset: 25504}, exprs: []interface{}{ @@ -8542,7 +8442,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 791, col: 16, offset: 25515}, - run: (*parser).callonDocumentFragment922, + run: (*parser).callonDocumentFragment900, expr: &seqExpr{ pos: position{line: 791, col: 16, offset: 25515}, exprs: []interface{}{ @@ -8568,10 +8468,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment928, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment906, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8580,28 +8480,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment931, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment909, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8610,9 +8510,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8623,7 +8523,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1040, col: 5, offset: 32140}, - run: (*parser).callonDocumentFragment938, + run: (*parser).callonDocumentFragment916, }, &labeledExpr{ pos: position{line: 1043, col: 5, offset: 32232}, @@ -8632,7 +8532,7 @@ var g = &grammar{ pos: position{line: 1058, col: 4, offset: 32613}, expr: &actionExpr{ pos: position{line: 1058, col: 5, offset: 32614}, - run: (*parser).callonDocumentFragment941, + run: (*parser).callonDocumentFragment919, expr: &seqExpr{ pos: position{line: 1058, col: 5, offset: 32614}, exprs: []interface{}{ @@ -8649,7 +8549,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 791, col: 5, offset: 25504}, - run: (*parser).callonDocumentFragment947, + run: (*parser).callonDocumentFragment925, expr: &seqExpr{ pos: position{line: 791, col: 5, offset: 25504}, exprs: []interface{}{ @@ -8658,7 +8558,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 791, col: 16, offset: 25515}, - run: (*parser).callonDocumentFragment950, + run: (*parser).callonDocumentFragment928, expr: &seqExpr{ pos: position{line: 791, col: 16, offset: 25515}, exprs: []interface{}{ @@ -8684,10 +8584,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment956, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment934, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8696,28 +8596,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment959, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment937, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8726,9 +8626,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8739,14 +8639,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1052, col: 5, offset: 32489}, - run: (*parser).callonDocumentFragment966, + run: (*parser).callonDocumentFragment944, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8757,16 +8657,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment970, + run: (*parser).callonDocumentFragment948, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8774,12 +8674,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment976, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment954, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -8789,28 +8689,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment980, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment958, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8819,9 +8719,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8851,7 +8751,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 791, col: 5, offset: 25504}, - run: (*parser).callonDocumentFragment992, + run: (*parser).callonDocumentFragment970, expr: &seqExpr{ pos: position{line: 791, col: 5, offset: 25504}, exprs: []interface{}{ @@ -8860,7 +8760,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 791, col: 16, offset: 25515}, - run: (*parser).callonDocumentFragment995, + run: (*parser).callonDocumentFragment973, expr: &seqExpr{ pos: position{line: 791, col: 16, offset: 25515}, exprs: []interface{}{ @@ -8886,10 +8786,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1001, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment979, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -8898,28 +8798,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1004, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment982, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -8928,9 +8828,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8941,14 +8841,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1052, col: 5, offset: 32489}, - run: (*parser).callonDocumentFragment1011, + run: (*parser).callonDocumentFragment989, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -8960,7 +8860,7 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 1067, col: 5, offset: 32797}, - run: (*parser).callonDocumentFragment1014, + run: (*parser).callonDocumentFragment992, expr: &seqExpr{ pos: position{line: 1067, col: 5, offset: 32797}, exprs: []interface{}{ @@ -8969,7 +8869,7 @@ var g = &grammar{ label: "start", expr: &actionExpr{ pos: position{line: 798, col: 5, offset: 25750}, - run: (*parser).callonDocumentFragment1017, + run: (*parser).callonDocumentFragment995, expr: &seqExpr{ pos: position{line: 798, col: 5, offset: 25750}, exprs: []interface{}{ @@ -8978,7 +8878,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 798, col: 16, offset: 25761}, - run: (*parser).callonDocumentFragment1020, + run: (*parser).callonDocumentFragment998, expr: &seqExpr{ pos: position{line: 798, col: 16, offset: 25761}, exprs: []interface{}{ @@ -9004,10 +8904,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1026, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1004, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9016,28 +8916,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1029, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1007, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9046,9 +8946,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9059,7 +8959,7 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1068, col: 5, offset: 32836}, - run: (*parser).callonDocumentFragment1036, + run: (*parser).callonDocumentFragment1014, }, &labeledExpr{ pos: position{line: 1071, col: 5, offset: 32928}, @@ -9068,7 +8968,7 @@ var g = &grammar{ pos: position{line: 1086, col: 4, offset: 33325}, expr: &actionExpr{ pos: position{line: 1086, col: 5, offset: 33326}, - run: (*parser).callonDocumentFragment1039, + run: (*parser).callonDocumentFragment1017, expr: &seqExpr{ pos: position{line: 1086, col: 5, offset: 33326}, exprs: []interface{}{ @@ -9085,7 +8985,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 798, col: 5, offset: 25750}, - run: (*parser).callonDocumentFragment1045, + run: (*parser).callonDocumentFragment1023, expr: &seqExpr{ pos: position{line: 798, col: 5, offset: 25750}, exprs: []interface{}{ @@ -9094,7 +8994,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 798, col: 16, offset: 25761}, - run: (*parser).callonDocumentFragment1048, + run: (*parser).callonDocumentFragment1026, expr: &seqExpr{ pos: position{line: 798, col: 16, offset: 25761}, exprs: []interface{}{ @@ -9120,10 +9020,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1054, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1032, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9132,28 +9032,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1057, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1035, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9162,9 +9062,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9175,14 +9075,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1080, col: 5, offset: 33199}, - run: (*parser).callonDocumentFragment1064, + run: (*parser).callonDocumentFragment1042, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9193,16 +9093,16 @@ var g = &grammar{ label: "line", expr: &actionExpr{ pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentFragment1068, + run: (*parser).callonDocumentFragment1046, expr: &seqExpr{ pos: position{line: 805, col: 5, offset: 25998}, exprs: []interface{}{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9210,12 +9110,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment1074, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment1052, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -9225,28 +9125,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1078, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1056, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9255,9 +9155,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9287,7 +9187,7 @@ var g = &grammar{ label: "end", expr: &actionExpr{ pos: position{line: 798, col: 5, offset: 25750}, - run: (*parser).callonDocumentFragment1090, + run: (*parser).callonDocumentFragment1068, expr: &seqExpr{ pos: position{line: 798, col: 5, offset: 25750}, exprs: []interface{}{ @@ -9296,7 +9196,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 798, col: 16, offset: 25761}, - run: (*parser).callonDocumentFragment1093, + run: (*parser).callonDocumentFragment1071, expr: &seqExpr{ pos: position{line: 798, col: 16, offset: 25761}, exprs: []interface{}{ @@ -9322,10 +9222,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1099, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1077, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9334,28 +9234,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1102, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1080, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9364,9 +9264,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9377,14 +9277,14 @@ var g = &grammar{ }, &andCodeExpr{ pos: position{line: 1080, col: 5, offset: 33199}, - run: (*parser).callonDocumentFragment1109, + run: (*parser).callonDocumentFragment1087, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9395,52 +9295,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2927, col: 18, offset: 93976}, - run: (*parser).callonDocumentFragment1112, + pos: position{line: 2958, col: 18, offset: 94877}, + run: (*parser).callonDocumentFragment1090, expr: &seqExpr{ - pos: position{line: 2927, col: 18, offset: 93976}, + pos: position{line: 2958, col: 18, offset: 94877}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 2928, col: 9, offset: 93986}, + pos: position{line: 2959, col: 9, offset: 94887}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2928, col: 9, offset: 93986}, + pos: position{line: 2959, col: 9, offset: 94887}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 2929, col: 11, offset: 94022}, + pos: position{line: 2960, col: 11, offset: 94923}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 2929, col: 19, offset: 94030}, + pos: position{line: 2960, col: 19, offset: 94931}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 2929, col: 29, offset: 94040}, + pos: position{line: 2960, col: 29, offset: 94941}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 2929, col: 37, offset: 94048}, + pos: position{line: 2960, col: 37, offset: 94949}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 2929, col: 47, offset: 94058}, + pos: position{line: 2960, col: 47, offset: 94959}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 2929, col: 55, offset: 94066}, + pos: position{line: 2960, col: 55, offset: 94967}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -9448,12 +9348,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2930, col: 11, offset: 94124}, + pos: position{line: 2961, col: 11, offset: 95025}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1123, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1101, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9462,28 +9362,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1126, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1104, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9492,36 +9392,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1134, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1112, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9530,9 +9430,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9545,24 +9445,24 @@ var g = &grammar{ name: "ListElements", }, &actionExpr{ - pos: position{line: 2818, col: 5, offset: 90915}, - run: (*parser).callonDocumentFragment1142, + pos: position{line: 2849, col: 5, offset: 91816}, + run: (*parser).callonDocumentFragment1120, expr: &seqExpr{ - pos: position{line: 2818, col: 5, offset: 90915}, + pos: position{line: 2849, col: 5, offset: 91816}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1146, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1124, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9571,28 +9471,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1149, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1127, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9601,43 +9501,43 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, &labeledExpr{ - pos: position{line: 2819, col: 5, offset: 90939}, + pos: position{line: 2850, col: 5, offset: 91840}, label: "lines", expr: &zeroOrMoreExpr{ - pos: position{line: 2819, col: 11, offset: 90945}, + pos: position{line: 2850, col: 11, offset: 91846}, expr: &choiceExpr{ - pos: position{line: 2819, col: 12, offset: 90946}, + pos: position{line: 2850, col: 12, offset: 91847}, alternatives: []interface{}{ &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, - run: (*parser).callonDocumentFragment1159, + run: (*parser).callonDocumentFragment1137, expr: &seqExpr{ pos: position{line: 671, col: 14, offset: 21401}, exprs: []interface{}{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1165, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1143, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9646,28 +9546,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1168, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1146, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9676,9 +9576,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9687,32 +9587,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2831, col: 5, offset: 91191}, - run: (*parser).callonDocumentFragment1175, + pos: position{line: 2862, col: 5, offset: 92092}, + run: (*parser).callonDocumentFragment1153, expr: &seqExpr{ - pos: position{line: 2831, col: 5, offset: 91191}, + pos: position{line: 2862, col: 5, offset: 92092}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2831, col: 5, offset: 91191}, + pos: position{line: 2862, col: 5, offset: 92092}, expr: &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1182, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1160, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9721,28 +9621,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1185, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1163, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9751,9 +9651,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9761,59 +9661,59 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2832, col: 5, offset: 91214}, + pos: position{line: 2863, col: 5, offset: 92115}, label: "content", expr: &choiceExpr{ - pos: position{line: 2833, col: 9, offset: 91232}, + pos: position{line: 2864, col: 9, offset: 92133}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2833, col: 10, offset: 91233}, - run: (*parser).callonDocumentFragment1196, + pos: position{line: 2864, col: 10, offset: 92134}, + run: (*parser).callonDocumentFragment1174, expr: &labeledExpr{ - pos: position{line: 2833, col: 10, offset: 91233}, + pos: position{line: 2864, col: 10, offset: 92134}, label: "cells", expr: &choiceExpr{ - pos: position{line: 2833, col: 17, offset: 91240}, + pos: position{line: 2864, col: 17, offset: 92141}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2841, col: 21, offset: 91436}, - run: (*parser).callonDocumentFragment1199, + pos: position{line: 2872, col: 21, offset: 92337}, + run: (*parser).callonDocumentFragment1177, expr: &seqExpr{ - pos: position{line: 2841, col: 21, offset: 91436}, + pos: position{line: 2872, col: 21, offset: 92337}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2841, col: 21, offset: 91436}, + pos: position{line: 2872, col: 21, offset: 92337}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2841, col: 27, offset: 91442}, + pos: position{line: 2872, col: 27, offset: 92343}, expr: &actionExpr{ - pos: position{line: 2846, col: 5, offset: 91517}, - run: (*parser).callonDocumentFragment1203, + pos: position{line: 2877, col: 5, offset: 92418}, + run: (*parser).callonDocumentFragment1181, expr: &seqExpr{ - pos: position{line: 2846, col: 5, offset: 91517}, + pos: position{line: 2877, col: 5, offset: 92418}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2846, col: 5, offset: 91517}, + pos: position{line: 2877, col: 5, offset: 92418}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2846, col: 9, offset: 91521}, + pos: position{line: 2877, col: 9, offset: 92422}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1207, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1185, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9822,21 +9722,21 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2846, col: 16, offset: 91528}, + pos: position{line: 2877, col: 16, offset: 92429}, label: "content", expr: &actionExpr{ - pos: position{line: 2852, col: 5, offset: 91727}, - run: (*parser).callonDocumentFragment1210, + pos: position{line: 2883, col: 5, offset: 92628}, + run: (*parser).callonDocumentFragment1188, expr: &labeledExpr{ - pos: position{line: 2852, col: 5, offset: 91727}, + pos: position{line: 2883, col: 5, offset: 92628}, label: "content", expr: &actionExpr{ - pos: position{line: 2852, col: 14, offset: 91736}, - run: (*parser).callonDocumentFragment1212, + pos: position{line: 2883, col: 14, offset: 92637}, + run: (*parser).callonDocumentFragment1190, expr: &zeroOrMoreExpr{ - pos: position{line: 2852, col: 14, offset: 91736}, + pos: position{line: 2883, col: 14, offset: 92637}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 14, offset: 91736}, + pos: position{line: 2883, col: 14, offset: 92637}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -9853,28 +9753,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1216, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1194, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9883,9 +9783,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9894,40 +9794,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2858, col: 24, offset: 91872}, - run: (*parser).callonDocumentFragment1223, + pos: position{line: 2889, col: 24, offset: 92773}, + run: (*parser).callonDocumentFragment1201, expr: &labeledExpr{ - pos: position{line: 2858, col: 24, offset: 91872}, + pos: position{line: 2889, col: 24, offset: 92773}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2858, col: 30, offset: 91878}, + pos: position{line: 2889, col: 30, offset: 92779}, expr: &actionExpr{ - pos: position{line: 2863, col: 5, offset: 91954}, - run: (*parser).callonDocumentFragment1226, + pos: position{line: 2894, col: 5, offset: 92855}, + run: (*parser).callonDocumentFragment1204, expr: &seqExpr{ - pos: position{line: 2863, col: 5, offset: 91954}, + pos: position{line: 2894, col: 5, offset: 92855}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2863, col: 5, offset: 91954}, + pos: position{line: 2894, col: 5, offset: 92855}, expr: &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1233, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1211, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -9936,28 +9836,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1236, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1214, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -9966,9 +9866,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -9976,38 +9876,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, }, ¬Expr{ - pos: position{line: 2864, col: 5, offset: 91977}, + pos: position{line: 2895, col: 5, offset: 92878}, expr: &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, - run: (*parser).callonDocumentFragment1246, + run: (*parser).callonDocumentFragment1224, expr: &seqExpr{ pos: position{line: 671, col: 14, offset: 21401}, exprs: []interface{}{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1252, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1230, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10016,28 +9916,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1255, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1233, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10046,9 +9946,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10058,17 +9958,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2865, col: 5, offset: 91992}, + pos: position{line: 2896, col: 5, offset: 92893}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2865, col: 12, offset: 91999}, + pos: position{line: 2896, col: 12, offset: 92900}, expr: &actionExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, - run: (*parser).callonDocumentFragment1264, + pos: position{line: 2913, col: 20, offset: 93364}, + run: (*parser).callonDocumentFragment1242, expr: &zeroOrMoreExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, expr: &charClassMatcher{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -10079,18 +9979,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2865, col: 31, offset: 92018}, + pos: position{line: 2896, col: 31, offset: 92919}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2865, col: 35, offset: 92022}, + pos: position{line: 2896, col: 35, offset: 92923}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1269, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1247, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10099,27 +9999,27 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 2865, col: 42, offset: 92029}, + pos: position{line: 2896, col: 42, offset: 92930}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1272, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1250, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10129,37 +10029,37 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2865, col: 51, offset: 92038}, + pos: position{line: 2896, col: 51, offset: 92939}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 92197}, + pos: position{line: 2902, col: 5, offset: 93098}, expr: &actionExpr{ - pos: position{line: 2872, col: 9, offset: 92207}, - run: (*parser).callonDocumentFragment1279, + pos: position{line: 2903, col: 9, offset: 93108}, + run: (*parser).callonDocumentFragment1257, expr: &seqExpr{ - pos: position{line: 2872, col: 9, offset: 92207}, + pos: position{line: 2903, col: 9, offset: 93108}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2872, col: 9, offset: 92207}, + pos: position{line: 2903, col: 9, offset: 93108}, expr: &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1286, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1264, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10168,28 +10068,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1289, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1267, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10198,9 +10098,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10208,38 +10108,38 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, }, ¬Expr{ - pos: position{line: 2873, col: 9, offset: 92234}, + pos: position{line: 2904, col: 9, offset: 93135}, expr: &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, - run: (*parser).callonDocumentFragment1299, + run: (*parser).callonDocumentFragment1277, expr: &seqExpr{ pos: position{line: 671, col: 14, offset: 21401}, exprs: []interface{}{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1305, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1283, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10248,28 +10148,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1308, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1286, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10278,9 +10178,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10290,22 +10190,22 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2874, col: 9, offset: 92253}, + pos: position{line: 2905, col: 9, offset: 93154}, expr: &seqExpr{ - pos: position{line: 2874, col: 11, offset: 92255}, + pos: position{line: 2905, col: 11, offset: 93156}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2874, col: 11, offset: 92255}, + pos: position{line: 2905, col: 11, offset: 93156}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2874, col: 18, offset: 92262}, + pos: position{line: 2905, col: 18, offset: 93163}, expr: &actionExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, - run: (*parser).callonDocumentFragment1319, + pos: position{line: 2913, col: 20, offset: 93364}, + run: (*parser).callonDocumentFragment1297, expr: &zeroOrMoreExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, expr: &charClassMatcher{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -10316,7 +10216,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2874, col: 37, offset: 92281}, + pos: position{line: 2905, col: 37, offset: 93182}, val: "|", ignoreCase: false, want: "\"|\"", @@ -10325,15 +10225,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2875, col: 9, offset: 92294}, + pos: position{line: 2906, col: 9, offset: 93195}, label: "content", expr: &actionExpr{ - pos: position{line: 2875, col: 18, offset: 92303}, - run: (*parser).callonDocumentFragment1324, + pos: position{line: 2906, col: 18, offset: 93204}, + run: (*parser).callonDocumentFragment1302, expr: &zeroOrMoreExpr{ - pos: position{line: 2875, col: 18, offset: 92303}, + pos: position{line: 2906, col: 18, offset: 93204}, expr: &charClassMatcher{ - pos: position{line: 2875, col: 18, offset: 92303}, + pos: position{line: 2906, col: 18, offset: 93204}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -10343,30 +10243,30 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 2877, col: 12, offset: 92365}, + pos: position{line: 2908, col: 12, offset: 93266}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1329, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1307, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10375,9 +10275,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10400,26 +10300,26 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, - run: (*parser).callonDocumentFragment1336, + run: (*parser).callonDocumentFragment1314, expr: &seqExpr{ pos: position{line: 671, col: 14, offset: 21401}, exprs: []interface{}{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1342, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1320, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10428,28 +10328,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1345, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1323, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10458,9 +10358,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10479,24 +10379,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1356, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1334, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10505,28 +10405,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1359, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1337, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10535,9 +10435,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10545,9 +10445,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10556,36 +10456,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, - run: (*parser).callonDocumentFragment1368, + pos: position{line: 2739, col: 22, offset: 88786}, + run: (*parser).callonDocumentFragment1346, expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, + pos: position{line: 2744, col: 31, offset: 89007}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, + pos: position{line: 2744, col: 36, offset: 89012}, expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, + pos: position{line: 2744, col: 37, offset: 89013}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, + pos: position{line: 2739, col: 49, offset: 88813}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentFragment1374, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentFragment1352, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -10595,28 +10495,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1378, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1356, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10625,9 +10525,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10637,20 +10537,20 @@ var g = &grammar{ }, &actionExpr{ pos: position{line: 1241, col: 5, offset: 38624}, - run: (*parser).callonDocumentFragment1385, + run: (*parser).callonDocumentFragment1363, expr: &seqExpr{ pos: position{line: 1241, col: 5, offset: 38624}, exprs: []interface{}{ &andCodeExpr{ pos: position{line: 1241, col: 5, offset: 38624}, - run: (*parser).callonDocumentFragment1387, + run: (*parser).callonDocumentFragment1365, }, &labeledExpr{ pos: position{line: 1244, col: 5, offset: 38682}, label: "frontmatter", expr: &actionExpr{ pos: position{line: 1249, col: 20, offset: 38777}, - run: (*parser).callonDocumentFragment1389, + run: (*parser).callonDocumentFragment1367, expr: &seqExpr{ pos: position{line: 1249, col: 20, offset: 38777}, exprs: []interface{}{ @@ -10663,10 +10563,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1253, col: 36, offset: 38955}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1393, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1371, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10675,28 +10575,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1396, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1374, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10705,9 +10605,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10719,7 +10619,7 @@ var g = &grammar{ pos: position{line: 1249, col: 53, offset: 38810}, expr: &actionExpr{ pos: position{line: 1255, col: 27, offset: 38993}, - run: (*parser).callonDocumentFragment1405, + run: (*parser).callonDocumentFragment1383, expr: &zeroOrMoreExpr{ pos: position{line: 1255, col: 27, offset: 38993}, expr: &oneOrMoreExpr{ @@ -10741,10 +10641,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1253, col: 36, offset: 38955}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1413, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1391, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10753,28 +10653,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1416, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1394, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10783,9 +10683,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10812,10 +10712,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1253, col: 36, offset: 38955}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentFragment1426, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentFragment1404, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -10824,28 +10724,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentFragment1429, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentFragment1407, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -10854,9 +10754,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -10945,9 +10845,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -11021,12 +10921,12 @@ var g = &grammar{ pos: position{line: 297, col: 9, offset: 9190}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonAttributeDeclaration15, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11048,28 +10948,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonAttributeDeclaration21, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11078,9 +10978,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -11132,10 +11032,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 336, col: 13, offset: 10387}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonAttributeDeclarationValue14, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11144,28 +11044,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonAttributeDeclarationValue17, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11174,9 +11074,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -11205,10 +11105,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonAttributeDeclarationValue29, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -11607,25 +11507,25 @@ var g = &grammar{ want: "\"\\\\\"", }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonAttributeDeclarationValue107, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -11636,10 +11536,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 318, col: 9, offset: 9851}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonAttributeDeclarationValue113, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12149,10 +12049,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 362, col: 35, offset: 11296}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes100, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12161,28 +12061,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonBlockAttributes103, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12191,9 +12091,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -12209,19 +12109,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes117, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12230,28 +12130,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonBlockAttributes120, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12260,9 +12160,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -12314,15 +12214,15 @@ var g = &grammar{ pos: position{line: 416, col: 9, offset: 12872}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, + pos: position{line: 3022, col: 5, offset: 97079}, run: (*parser).callonBlockAttributes138, expr: &seqExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, + pos: position{line: 3022, col: 5, offset: 97079}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, + pos: position{line: 3022, col: 5, offset: 97079}, expr: &charClassMatcher{ - pos: position{line: 2991, col: 5, offset: 96178}, + pos: position{line: 3022, col: 5, offset: 97079}, val: "[,;!?0-9\\pL]", chars: []rune{',', ';', '!', '?'}, ranges: []rune{'0', '9'}, @@ -12332,13 +12232,13 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2992, col: 6, offset: 96228}, + pos: position{line: 3023, col: 6, offset: 97129}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes143, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12346,37 +12246,37 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2992, col: 14, offset: 96236}, + pos: position{line: 3023, col: 14, offset: 97137}, expr: &choiceExpr{ - pos: position{line: 2992, col: 16, offset: 96238}, + pos: position{line: 3023, col: 16, offset: 97139}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2992, col: 16, offset: 96238}, + pos: position{line: 3023, col: 16, offset: 97139}, val: "[.�]", chars: []rune{'.', '�'}, ignoreCase: false, inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonBlockAttributes148, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12385,9 +12285,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -12399,10 +12299,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes155, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12520,10 +12420,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3009, col: 12, offset: 96752}, + pos: position{line: 3040, col: 12, offset: 97653}, run: (*parser).callonBlockAttributes177, expr: &charClassMatcher{ - pos: position{line: 3009, col: 12, offset: 96752}, + pos: position{line: 3040, col: 12, offset: 97653}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -12541,10 +12441,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 366, col: 35, offset: 11451}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes180, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12553,28 +12453,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonBlockAttributes183, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12583,9 +12483,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -12601,19 +12501,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes197, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12622,28 +12522,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonBlockAttributes200, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12652,9 +12552,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -12683,10 +12583,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 370, col: 44, offset: 11584}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes212, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12695,28 +12595,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonBlockAttributes215, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12725,9 +12625,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -12743,19 +12643,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonBlockAttributes229, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -12764,28 +12664,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonBlockAttributes232, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -12794,9 +12694,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -12975,12 +12875,12 @@ var g = &grammar{ pos: position{line: 561, col: 9, offset: 17402}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes27, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -12990,10 +12890,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes30, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13001,40 +12901,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes32, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes34, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes36, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes38, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -13491,12 +13391,12 @@ var g = &grammar{ pos: position{line: 587, col: 9, offset: 18253}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes129, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -13506,10 +13406,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes132, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -13517,40 +13417,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes134, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes136, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes138, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes140, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -13984,10 +13884,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 581, col: 14, offset: 18142}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes226, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14023,40 +13923,40 @@ var g = &grammar{ pos: position{line: 497, col: 9, offset: 15615}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes234, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes236, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes238, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes240, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -14454,10 +14354,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 507, col: 9, offset: 15901}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes320, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14573,12 +14473,12 @@ var g = &grammar{ pos: position{line: 561, col: 9, offset: 17402}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes348, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -14588,10 +14488,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes351, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -14599,40 +14499,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes353, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes355, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes357, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes359, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -15089,12 +14989,12 @@ var g = &grammar{ pos: position{line: 587, col: 9, offset: 18253}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes450, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -15104,10 +15004,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes453, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15115,40 +15015,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes455, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes457, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes459, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes461, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -15582,10 +15482,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 581, col: 14, offset: 18142}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes547, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -15621,40 +15521,40 @@ var g = &grammar{ pos: position{line: 497, col: 9, offset: 15615}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes555, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes557, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes559, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes561, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -16052,10 +15952,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 507, col: 9, offset: 15901}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes641, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16136,12 +16036,12 @@ var g = &grammar{ pos: position{line: 561, col: 9, offset: 17402}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes659, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -16151,10 +16051,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes662, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16162,40 +16062,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes664, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes666, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes668, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes670, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -16652,12 +16552,12 @@ var g = &grammar{ pos: position{line: 587, col: 9, offset: 18253}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes761, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -16667,10 +16567,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes764, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -16678,40 +16578,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes766, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes768, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes770, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes772, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -17145,10 +17045,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 581, col: 14, offset: 18142}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes858, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17184,40 +17084,40 @@ var g = &grammar{ pos: position{line: 497, col: 9, offset: 15615}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes866, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes868, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes870, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes872, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -17615,10 +17515,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 507, col: 9, offset: 15901}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes952, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17699,12 +17599,12 @@ var g = &grammar{ pos: position{line: 561, col: 9, offset: 17402}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes970, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -17714,10 +17614,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes973, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -17725,40 +17625,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes975, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes977, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes979, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes981, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -18215,12 +18115,12 @@ var g = &grammar{ pos: position{line: 587, col: 9, offset: 18253}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonLongHandAttributes1072, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -18230,10 +18130,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes1075, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18241,40 +18141,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes1077, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes1079, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes1081, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes1083, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -18708,10 +18608,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 581, col: 14, offset: 18142}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes1169, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -18747,40 +18647,40 @@ var g = &grammar{ pos: position{line: 497, col: 9, offset: 15615}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonLongHandAttributes1177, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonLongHandAttributes1179, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonLongHandAttributes1181, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonLongHandAttributes1183, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -19178,10 +19078,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 507, col: 9, offset: 15901}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes1263, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19230,10 +19130,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 455, col: 13, offset: 14319}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLongHandAttributes1270, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19320,10 +19220,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 513, col: 34, offset: 16044}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonPositionalAttribute11, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19363,10 +19263,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 518, col: 13, offset: 16208}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonPositionalAttribute20, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19389,10 +19289,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 518, col: 26, offset: 16221}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonPositionalAttribute26, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19447,10 +19347,10 @@ var g = &grammar{ ¬Expr{ pos: position{line: 538, col: 22, offset: 16868}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonNamedAttribute7, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19481,10 +19381,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 531, col: 9, offset: 16613}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonNamedAttribute13, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19514,10 +19414,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 532, col: 33, offset: 16653}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonNamedAttribute21, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19583,12 +19483,12 @@ var g = &grammar{ pos: position{line: 561, col: 9, offset: 17402}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonAttributeValue15, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -19598,10 +19498,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonAttributeValue18, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -19609,40 +19509,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonAttributeValue20, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonAttributeValue22, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonAttributeValue24, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonAttributeValue26, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -20099,12 +19999,12 @@ var g = &grammar{ pos: position{line: 587, col: 9, offset: 18253}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonAttributeValue117, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -20114,10 +20014,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonAttributeValue120, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20125,40 +20025,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonAttributeValue122, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonAttributeValue124, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonAttributeValue126, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonAttributeValue128, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -20592,10 +20492,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 581, col: 14, offset: 18142}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonAttributeValue214, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20633,10 +20533,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 548, col: 9, offset: 17085}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonAttributeValue222, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20670,10 +20570,10 @@ var g = &grammar{ ¬Expr{ pos: position{line: 608, col: 5, offset: 19109}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonUnquotedAttributeValue4, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -20725,10 +20625,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonUnquotedAttributeValue16, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -21090,40 +20990,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonUnquotedAttributeValue87, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonUnquotedAttributeValue89, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonUnquotedAttributeValue91, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonUnquotedAttributeValue93, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -21176,12 +21076,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonCrossReference6, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -21193,10 +21093,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonCrossReference10, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -21394,12 +21294,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonCrossReference48, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -21443,46 +21343,46 @@ var g = &grammar{ pos: position{line: 686, col: 35, offset: 21997}, label: "url", expr: &actionExpr{ - pos: position{line: 3021, col: 17, offset: 96954}, + pos: position{line: 3052, col: 17, offset: 97855}, run: (*parser).callonExternalCrossReference5, expr: &labeledExpr{ - pos: position{line: 3021, col: 17, offset: 96954}, + pos: position{line: 3052, col: 17, offset: 97855}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3021, col: 22, offset: 96959}, + pos: position{line: 3052, col: 22, offset: 97860}, expr: &choiceExpr{ - pos: position{line: 3021, col: 23, offset: 96960}, + pos: position{line: 3052, col: 23, offset: 97861}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonExternalCrossReference9, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonExternalCrossReference16, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -21491,13 +21391,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonExternalCrossReference20, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -21505,23 +21405,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExternalCrossReference27, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -21889,23 +21789,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonExternalCrossReference98, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonExternalCrossReference100, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonExternalCrossReference103, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -21926,12 +21826,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonExternalCrossReference109, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -21943,10 +21843,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExternalCrossReference113, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22144,12 +22044,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonExternalCrossReference151, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -22171,10 +22071,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonExternalCrossReference155, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -22188,10 +22088,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonExternalCrossReference157, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -22280,12 +22180,12 @@ var g = &grammar{ pos: position{line: 983, col: 11, offset: 30714}, label: "author", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonMarkdownQuoteAttribution5, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -22295,28 +22195,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonMarkdownQuoteAttribution9, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -22325,9 +22225,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -22362,195 +22262,448 @@ var g = &grammar{ label: "info", expr: &zeroOrOneExpr{ pos: position{line: 1099, col: 10, offset: 33762}, - expr: &actionExpr{ - pos: position{line: 1122, col: 5, offset: 34615}, - run: (*parser).callonDocumentHeader8, - expr: &seqExpr{ - pos: position{line: 1122, col: 5, offset: 34615}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1122, col: 5, offset: 34615}, - label: "title", - expr: &actionExpr{ - pos: position{line: 1130, col: 5, offset: 34896}, - run: (*parser).callonDocumentHeader11, - expr: &seqExpr{ - pos: position{line: 1130, col: 5, offset: 34896}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1130, col: 5, offset: 34896}, - val: "=", - ignoreCase: false, - want: "\"=\"", - }, - &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - run: (*parser).callonDocumentHeader14, - expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1130, col: 16, offset: 34907}, - label: "title", - expr: &actionExpr{ - pos: position{line: 2561, col: 17, offset: 83575}, - run: (*parser).callonDocumentHeader18, - expr: &oneOrMoreExpr{ - pos: position{line: 2561, col: 17, offset: 83575}, - expr: &charClassMatcher{ - pos: position{line: 2561, col: 17, offset: 83575}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + expr: &ruleRefExpr{ + pos: position{line: 1099, col: 11, offset: 33763}, + name: "DocumentInformation", + }, + }, + }, + &labeledExpr{ + pos: position{line: 1100, col: 5, offset: 33789}, + label: "moreExtraAttrs", + expr: &ruleRefExpr{ + pos: position{line: 1100, col: 21, offset: 33805}, + name: "DocumentHeaderAttributes", + }, + }, + &andCodeExpr{ + pos: position{line: 1101, col: 5, offset: 33835}, + run: (*parser).callonDocumentHeader11, + }, + }, + }, + }, + }, + { + name: "DocumentHeaderAttributes", + pos: position{line: 1119, col: 1, offset: 34470}, + expr: &zeroOrMoreExpr{ + pos: position{line: 1119, col: 29, offset: 34498}, + expr: &choiceExpr{ + pos: position{line: 1119, col: 30, offset: 34499}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 1119, col: 30, offset: 34499}, + name: "AttributeDeclaration", + }, + &actionExpr{ + pos: position{line: 350, col: 19, offset: 10719}, + run: (*parser).callonDocumentHeaderAttributes4, + expr: &seqExpr{ + pos: position{line: 350, col: 19, offset: 10719}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 350, col: 19, offset: 10719}, + val: ":!", + ignoreCase: false, + want: "\":!\"", + }, + &labeledExpr{ + pos: position{line: 350, col: 24, offset: 10724}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonDocumentHeaderAttributes8, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 350, col: 45, offset: 10745}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 350, col: 49, offset: 10749}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentHeaderAttributes15, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes18, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 352, col: 9, offset: 10840}, + run: (*parser).callonDocumentHeaderAttributes25, + expr: &seqExpr{ + pos: position{line: 352, col: 9, offset: 10840}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 352, col: 9, offset: 10840}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 352, col: 13, offset: 10844}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonDocumentHeaderAttributes29, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 352, col: 34, offset: 10865}, + val: "!:", + ignoreCase: false, + want: "\"!:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 352, col: 39, offset: 10870}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentHeaderAttributes36, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes39, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2739, col: 22, offset: 88786}, + run: (*parser).callonDocumentHeaderAttributes46, + expr: &seqExpr{ + pos: position{line: 2739, col: 22, offset: 88786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2744, col: 31, offset: 89007}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2744, col: 36, offset: 89012}, + expr: &litMatcher{ + pos: position{line: 2744, col: 37, offset: 89013}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2739, col: 49, offset: 88813}, + label: "content", + expr: &actionExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentHeaderAttributes52, + expr: &zeroOrMoreExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + expr: &charClassMatcher{ + pos: position{line: 3044, col: 13, offset: 97718}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes56, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 814, col: 5, offset: 26232}, + run: (*parser).callonDocumentHeaderAttributes63, + expr: &seqExpr{ + pos: position{line: 814, col: 5, offset: 26232}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentHeaderAttributes65, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentHeaderAttributes68, + expr: &seqExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 734, col: 16, offset: 23505}, + val: "////", + ignoreCase: false, + want: "\"////\"", }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader22, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, + &zeroOrMoreExpr{ + pos: position{line: 734, col: 23, offset: 23512}, + expr: &litMatcher{ + pos: position{line: 734, col: 23, offset: 23512}, + val: "/", + ignoreCase: false, + want: "\"/\"", }, }, }, }, }, }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1123, col: 5, offset: 34641}, - expr: &choiceExpr{ - pos: position{line: 1123, col: 6, offset: 34642}, + &zeroOrMoreExpr{ + pos: position{line: 736, col: 8, offset: 23596}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentHeaderAttributes74, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, - run: (*parser).callonDocumentHeader31, - expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, - exprs: []interface{}{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes77, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, - val: "//", + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", ignoreCase: false, - want: "\"//\"", + want: "\"\\n\"", }, - ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, - expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, - label: "content", - expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentHeader37, - expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader41, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 814, col: 5, offset: 26232}, - run: (*parser).callonDocumentHeader48, - expr: &seqExpr{ - pos: position{line: 814, col: 5, offset: 26232}, - exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 815, col: 5, offset: 26263}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 825, col: 5, offset: 26549}, + expr: &actionExpr{ + pos: position{line: 825, col: 6, offset: 26550}, + run: (*parser).callonDocumentHeaderAttributes86, + expr: &seqExpr{ + pos: position{line: 825, col: 6, offset: 26550}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 825, col: 6, offset: 26550}, + expr: &choiceExpr{ + pos: position{line: 822, col: 29, offset: 26492}, + alternatives: []interface{}{ &actionExpr{ pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeader50, + run: (*parser).callonDocumentHeaderAttributes90, expr: &seqExpr{ pos: position{line: 734, col: 5, offset: 23494}, exprs: []interface{}{ @@ -22559,7 +22712,7 @@ var g = &grammar{ label: "delimiter", expr: &actionExpr{ pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeader53, + run: (*parser).callonDocumentHeaderAttributes93, expr: &seqExpr{ pos: position{line: 734, col: 16, offset: 23505}, exprs: []interface{}{ @@ -22585,10 +22738,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader59, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentHeaderAttributes99, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -22597,28 +22750,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader62, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes102, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -22627,9 +22780,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -22637,301 +22790,85 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 815, col: 5, offset: 26263}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 825, col: 5, offset: 26549}, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 826, col: 5, offset: 26580}, + label: "line", + expr: &actionExpr{ + pos: position{line: 805, col: 5, offset: 25998}, + run: (*parser).callonDocumentHeaderAttributes112, + expr: &seqExpr{ + pos: position{line: 805, col: 5, offset: 25998}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 805, col: 5, offset: 25998}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + &labeledExpr{ + pos: position{line: 806, col: 5, offset: 26071}, + label: "content", expr: &actionExpr{ - pos: position{line: 825, col: 6, offset: 26550}, - run: (*parser).callonDocumentHeader71, - expr: &seqExpr{ - pos: position{line: 825, col: 6, offset: 26550}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 825, col: 6, offset: 26550}, - expr: &choiceExpr{ - pos: position{line: 822, col: 29, offset: 26492}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeader75, - expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeader78, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 734, col: 16, offset: 23505}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 734, col: 23, offset: 23512}, - expr: &litMatcher{ - pos: position{line: 734, col: 23, offset: 23512}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 736, col: 8, offset: 23596}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader84, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader87, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 826, col: 5, offset: 26580}, - label: "line", - expr: &actionExpr{ - pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentHeader97, - expr: &seqExpr{ - pos: position{line: 805, col: 5, offset: 25998}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 805, col: 5, offset: 25998}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - &labeledExpr{ - pos: position{line: 806, col: 5, offset: 26071}, - label: "content", - expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentHeader103, - expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader107, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentHeaderAttributes118, + expr: &zeroOrMoreExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + expr: &charClassMatcher{ + pos: position{line: 3044, col: 13, offset: 97718}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, - }, - &zeroOrOneExpr{ - pos: position{line: 816, col: 5, offset: 26297}, - expr: &choiceExpr{ - pos: position{line: 822, col: 29, offset: 26492}, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeader116, - expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeader119, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 734, col: 16, offset: 23505}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 734, col: 23, offset: 23512}, - expr: &litMatcher{ - pos: position{line: 734, col: 23, offset: 23512}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes122, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - &zeroOrMoreExpr{ - pos: position{line: 736, col: 8, offset: 23596}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader125, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader128, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -22943,991 +22880,1490 @@ var g = &grammar{ }, }, }, - &labeledExpr{ - pos: position{line: 1124, col: 5, offset: 34716}, - label: "authorsAndRevision", - expr: &zeroOrOneExpr{ - pos: position{line: 1124, col: 24, offset: 34735}, - expr: &actionExpr{ - pos: position{line: 1135, col: 5, offset: 35002}, - run: (*parser).callonDocumentHeader139, - expr: &seqExpr{ - pos: position{line: 1135, col: 5, offset: 35002}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1135, col: 5, offset: 35002}, - label: "authors", - expr: &actionExpr{ - pos: position{line: 1141, col: 20, offset: 35258}, - run: (*parser).callonDocumentHeader142, - expr: &seqExpr{ - pos: position{line: 1141, col: 20, offset: 35258}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1141, col: 20, offset: 35258}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader145, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 816, col: 5, offset: 26297}, + expr: &choiceExpr{ + pos: position{line: 822, col: 29, offset: 26492}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentHeaderAttributes131, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentHeaderAttributes134, + expr: &seqExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 734, col: 16, offset: 23505}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 734, col: 23, offset: 23512}, + expr: &litMatcher{ + pos: position{line: 734, col: 23, offset: 23512}, + val: "/", + ignoreCase: false, + want: "\"/\"", }, - &labeledExpr{ - pos: position{line: 1141, col: 27, offset: 35265}, - label: "authors", - expr: &choiceExpr{ - pos: position{line: 1141, col: 36, offset: 35274}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1145, col: 30, offset: 35394}, - run: (*parser).callonDocumentHeader149, - expr: &seqExpr{ - pos: position{line: 1145, col: 30, offset: 35394}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1145, col: 30, offset: 35394}, - expr: &litMatcher{ - pos: position{line: 1145, col: 31, offset: 35395}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1145, col: 35, offset: 35399}, - label: "authors", - expr: &oneOrMoreExpr{ - pos: position{line: 1145, col: 44, offset: 35408}, - expr: &actionExpr{ - pos: position{line: 1154, col: 5, offset: 35640}, - run: (*parser).callonDocumentHeader155, - expr: &seqExpr{ - pos: position{line: 1154, col: 5, offset: 35640}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1154, col: 5, offset: 35640}, - label: "fullName", - expr: &zeroOrOneExpr{ - pos: position{line: 1154, col: 14, offset: 35649}, - expr: &actionExpr{ - pos: position{line: 1165, col: 5, offset: 36029}, - run: (*parser).callonDocumentHeader159, - expr: &seqExpr{ - pos: position{line: 1165, col: 5, offset: 36029}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1165, col: 5, offset: 36029}, - label: "part1", - expr: &actionExpr{ - pos: position{line: 1165, col: 12, offset: 36036}, - run: (*parser).callonDocumentHeader162, - expr: &oneOrMoreExpr{ - pos: position{line: 1165, col: 12, offset: 36036}, - expr: &charClassMatcher{ - pos: position{line: 1165, col: 12, offset: 36036}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1168, col: 5, offset: 36116}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader166, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1169, col: 5, offset: 36127}, - label: "part2", - expr: &zeroOrOneExpr{ - pos: position{line: 1169, col: 11, offset: 36133}, - expr: &actionExpr{ - pos: position{line: 1169, col: 12, offset: 36134}, - run: (*parser).callonDocumentHeader170, - expr: &oneOrMoreExpr{ - pos: position{line: 1169, col: 12, offset: 36134}, - expr: &charClassMatcher{ - pos: position{line: 1169, col: 12, offset: 36134}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1172, col: 5, offset: 36215}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader174, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1173, col: 5, offset: 36226}, - label: "part3", - expr: &zeroOrOneExpr{ - pos: position{line: 1173, col: 11, offset: 36232}, - expr: &actionExpr{ - pos: position{line: 1173, col: 12, offset: 36233}, - run: (*parser).callonDocumentHeader178, - expr: &oneOrMoreExpr{ - pos: position{line: 1173, col: 12, offset: 36233}, - expr: &charClassMatcher{ - pos: position{line: 1173, col: 12, offset: 36233}, - val: "[^<;\\r\\n]", - chars: []rune{'<', ';', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1176, col: 5, offset: 36312}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader182, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1154, col: 40, offset: 35675}, - label: "email", - expr: &zeroOrOneExpr{ - pos: position{line: 1154, col: 46, offset: 35681}, - expr: &actionExpr{ - pos: position{line: 1182, col: 5, offset: 36434}, - run: (*parser).callonDocumentHeader186, - expr: &seqExpr{ - pos: position{line: 1182, col: 5, offset: 36434}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1182, col: 5, offset: 36434}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - &litMatcher{ - pos: position{line: 1183, col: 5, offset: 36444}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1184, col: 5, offset: 36453}, - label: "email", - expr: &actionExpr{ - pos: position{line: 1184, col: 12, offset: 36460}, - run: (*parser).callonDocumentHeader193, - expr: &oneOrMoreExpr{ - pos: position{line: 1184, col: 13, offset: 36461}, - expr: &charClassMatcher{ - pos: position{line: 1184, col: 13, offset: 36461}, - val: "[^>\\r\\n]", - chars: []rune{'>', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1187, col: 5, offset: 36521}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1154, col: 69, offset: 35704}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader198, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1154, col: 76, offset: 35711}, - expr: &litMatcher{ - pos: position{line: 1154, col: 76, offset: 35711}, - val: ";", - ignoreCase: false, - want: "\";\"", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1154, col: 81, offset: 35716}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader203, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1155, col: 5, offset: 35728}, - run: (*parser).callonDocumentHeader205, - }, - }, - }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 736, col: 8, offset: 23596}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentHeaderAttributes140, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes143, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 671, col: 14, offset: 21401}, + run: (*parser).callonDocumentHeaderAttributes152, + expr: &seqExpr{ + pos: position{line: 671, col: 14, offset: 21401}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 671, col: 14, offset: 21401}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 671, col: 19, offset: 21406}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentHeaderAttributes158, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentHeaderAttributes161, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "DocumentInformation", + pos: position{line: 1121, col: 1, offset: 34588}, + expr: &actionExpr{ + pos: position{line: 1122, col: 5, offset: 34615}, + run: (*parser).callonDocumentInformation1, + expr: &seqExpr{ + pos: position{line: 1122, col: 5, offset: 34615}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1122, col: 5, offset: 34615}, + label: "title", + expr: &ruleRefExpr{ + pos: position{line: 1122, col: 12, offset: 34622}, + name: "DocumentTitle", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1123, col: 5, offset: 34641}, + expr: &choiceExpr{ + pos: position{line: 1123, col: 6, offset: 34642}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2739, col: 22, offset: 88786}, + run: (*parser).callonDocumentInformation7, + expr: &seqExpr{ + pos: position{line: 2739, col: 22, offset: 88786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2744, col: 31, offset: 89007}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2744, col: 36, offset: 89012}, + expr: &litMatcher{ + pos: position{line: 2744, col: 37, offset: 89013}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2739, col: 49, offset: 88813}, + label: "content", + expr: &actionExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentInformation13, + expr: &zeroOrMoreExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + expr: &charClassMatcher{ + pos: position{line: 3044, col: 13, offset: 97718}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation17, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 814, col: 5, offset: 26232}, + run: (*parser).callonDocumentInformation24, + expr: &seqExpr{ + pos: position{line: 814, col: 5, offset: 26232}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentInformation26, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentInformation29, + expr: &seqExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 734, col: 16, offset: 23505}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 734, col: 23, offset: 23512}, + expr: &litMatcher{ + pos: position{line: 734, col: 23, offset: 23512}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 736, col: 8, offset: 23596}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation35, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation38, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 815, col: 5, offset: 26263}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 825, col: 5, offset: 26549}, + expr: &actionExpr{ + pos: position{line: 825, col: 6, offset: 26550}, + run: (*parser).callonDocumentInformation47, + expr: &seqExpr{ + pos: position{line: 825, col: 6, offset: 26550}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 825, col: 6, offset: 26550}, + expr: &choiceExpr{ + pos: position{line: 822, col: 29, offset: 26492}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentInformation51, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentInformation54, + expr: &seqExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 734, col: 16, offset: 23505}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 734, col: 23, offset: 23512}, + expr: &litMatcher{ + pos: position{line: 734, col: 23, offset: 23512}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 736, col: 8, offset: 23596}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation60, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation63, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 826, col: 5, offset: 26580}, + label: "line", + expr: &actionExpr{ + pos: position{line: 805, col: 5, offset: 25998}, + run: (*parser).callonDocumentInformation73, + expr: &seqExpr{ + pos: position{line: 805, col: 5, offset: 25998}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 805, col: 5, offset: 25998}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + &labeledExpr{ + pos: position{line: 806, col: 5, offset: 26071}, + label: "content", + expr: &actionExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentInformation79, + expr: &zeroOrMoreExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + expr: &charClassMatcher{ + pos: position{line: 3044, col: 13, offset: 97718}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1149, col: 33, offset: 35526}, - run: (*parser).callonDocumentHeader206, - expr: &seqExpr{ - pos: position{line: 1149, col: 33, offset: 35526}, - exprs: []interface{}{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation83, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 1149, col: 33, offset: 35526}, - val: ":author:", + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", ignoreCase: false, - want: "\":author:\"", + want: "\"\\n\"", }, - &zeroOrMoreExpr{ - pos: position{line: 1149, col: 44, offset: 35537}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader210, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - &labeledExpr{ - pos: position{line: 1149, col: 51, offset: 35544}, - label: "author", - expr: &actionExpr{ - pos: position{line: 1154, col: 5, offset: 35640}, - run: (*parser).callonDocumentHeader213, - expr: &seqExpr{ - pos: position{line: 1154, col: 5, offset: 35640}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1154, col: 5, offset: 35640}, - label: "fullName", - expr: &zeroOrOneExpr{ - pos: position{line: 1154, col: 14, offset: 35649}, - expr: &actionExpr{ - pos: position{line: 1165, col: 5, offset: 36029}, - run: (*parser).callonDocumentHeader217, - expr: &seqExpr{ - pos: position{line: 1165, col: 5, offset: 36029}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1165, col: 5, offset: 36029}, - label: "part1", - expr: &actionExpr{ - pos: position{line: 1165, col: 12, offset: 36036}, - run: (*parser).callonDocumentHeader220, - expr: &oneOrMoreExpr{ - pos: position{line: 1165, col: 12, offset: 36036}, - expr: &charClassMatcher{ - pos: position{line: 1165, col: 12, offset: 36036}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1168, col: 5, offset: 36116}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader224, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1169, col: 5, offset: 36127}, - label: "part2", - expr: &zeroOrOneExpr{ - pos: position{line: 1169, col: 11, offset: 36133}, - expr: &actionExpr{ - pos: position{line: 1169, col: 12, offset: 36134}, - run: (*parser).callonDocumentHeader228, - expr: &oneOrMoreExpr{ - pos: position{line: 1169, col: 12, offset: 36134}, - expr: &charClassMatcher{ - pos: position{line: 1169, col: 12, offset: 36134}, - val: "[^<;\\r\\n ]", - chars: []rune{'<', ';', '\r', '\n', ' '}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1172, col: 5, offset: 36215}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader232, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1173, col: 5, offset: 36226}, - label: "part3", - expr: &zeroOrOneExpr{ - pos: position{line: 1173, col: 11, offset: 36232}, - expr: &actionExpr{ - pos: position{line: 1173, col: 12, offset: 36233}, - run: (*parser).callonDocumentHeader236, - expr: &oneOrMoreExpr{ - pos: position{line: 1173, col: 12, offset: 36233}, - expr: &charClassMatcher{ - pos: position{line: 1173, col: 12, offset: 36233}, - val: "[^<;\\r\\n]", - chars: []rune{'<', ';', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1176, col: 5, offset: 36312}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader240, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1154, col: 40, offset: 35675}, - label: "email", - expr: &zeroOrOneExpr{ - pos: position{line: 1154, col: 46, offset: 35681}, - expr: &actionExpr{ - pos: position{line: 1182, col: 5, offset: 36434}, - run: (*parser).callonDocumentHeader244, - expr: &seqExpr{ - pos: position{line: 1182, col: 5, offset: 36434}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1182, col: 5, offset: 36434}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - &litMatcher{ - pos: position{line: 1183, col: 5, offset: 36444}, - val: "<", - ignoreCase: false, - want: "\"<\"", - }, - &labeledExpr{ - pos: position{line: 1184, col: 5, offset: 36453}, - label: "email", - expr: &actionExpr{ - pos: position{line: 1184, col: 12, offset: 36460}, - run: (*parser).callonDocumentHeader251, - expr: &oneOrMoreExpr{ - pos: position{line: 1184, col: 13, offset: 36461}, - expr: &charClassMatcher{ - pos: position{line: 1184, col: 13, offset: 36461}, - val: "[^>\\r\\n]", - chars: []rune{'>', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1187, col: 5, offset: 36521}, - val: ">", - ignoreCase: false, - want: "\">\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1154, col: 69, offset: 35704}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader256, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 1154, col: 76, offset: 35711}, - expr: &litMatcher{ - pos: position{line: 1154, col: 76, offset: 35711}, - val: ";", - ignoreCase: false, - want: "\";\"", - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1154, col: 81, offset: 35716}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader261, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 1155, col: 5, offset: 35728}, - run: (*parser).callonDocumentHeader263, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader265, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, }, }, }, }, }, }, - &zeroOrMoreExpr{ - pos: position{line: 1136, col: 5, offset: 35032}, - expr: &choiceExpr{ - pos: position{line: 1136, col: 6, offset: 35033}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, - run: (*parser).callonDocumentHeader274, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 816, col: 5, offset: 26297}, + expr: &choiceExpr{ + pos: position{line: 822, col: 29, offset: 26492}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentInformation92, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentInformation95, expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 734, col: 16, offset: 23505}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, - val: "//", + pos: position{line: 734, col: 16, offset: 23505}, + val: "////", ignoreCase: false, - want: "\"//\"", + want: "\"////\"", }, - ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, + &zeroOrMoreExpr{ + pos: position{line: 734, col: 23, offset: 23512}, expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, - val: "//", + pos: position{line: 734, col: 23, offset: 23512}, + val: "/", ignoreCase: false, - want: "\"//\"", + want: "\"/\"", }, }, - &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, - label: "content", - expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentHeader280, - expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 736, col: 8, offset: 23596}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation101, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation104, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader284, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, - &actionExpr{ - pos: position{line: 814, col: 5, offset: 26232}, - run: (*parser).callonDocumentHeader291, - expr: &seqExpr{ - pos: position{line: 814, col: 5, offset: 26232}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeader293, - expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeader296, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 734, col: 16, offset: 23505}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 734, col: 23, offset: 23512}, - expr: &litMatcher{ - pos: position{line: 734, col: 23, offset: 23512}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 736, col: 8, offset: 23596}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader302, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader305, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1124, col: 5, offset: 34716}, + label: "authorsAndRevision", + expr: &zeroOrOneExpr{ + pos: position{line: 1124, col: 24, offset: 34735}, + expr: &actionExpr{ + pos: position{line: 1135, col: 5, offset: 35002}, + run: (*parser).callonDocumentInformation115, + expr: &seqExpr{ + pos: position{line: 1135, col: 5, offset: 35002}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1135, col: 5, offset: 35002}, + label: "authors", + expr: &actionExpr{ + pos: position{line: 1141, col: 20, offset: 35258}, + run: (*parser).callonDocumentInformation118, + expr: &seqExpr{ + pos: position{line: 1141, col: 20, offset: 35258}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1141, col: 20, offset: 35258}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation121, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1141, col: 27, offset: 35265}, + label: "authors", + expr: &choiceExpr{ + pos: position{line: 1141, col: 36, offset: 35274}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1145, col: 30, offset: 35394}, + run: (*parser).callonDocumentInformation125, + expr: &seqExpr{ + pos: position{line: 1145, col: 30, offset: 35394}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1145, col: 30, offset: 35394}, + expr: &litMatcher{ + pos: position{line: 1145, col: 31, offset: 35395}, + val: ":", + ignoreCase: false, + want: "\":\"", }, - &labeledExpr{ - pos: position{line: 815, col: 5, offset: 26263}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 825, col: 5, offset: 26549}, - expr: &actionExpr{ - pos: position{line: 825, col: 6, offset: 26550}, - run: (*parser).callonDocumentHeader314, - expr: &seqExpr{ - pos: position{line: 825, col: 6, offset: 26550}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 825, col: 6, offset: 26550}, - expr: &choiceExpr{ - pos: position{line: 822, col: 29, offset: 26492}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeader318, - expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeader321, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 734, col: 16, offset: 23505}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 734, col: 23, offset: 23512}, - expr: &litMatcher{ - pos: position{line: 734, col: 23, offset: 23512}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, + }, + &labeledExpr{ + pos: position{line: 1145, col: 35, offset: 35399}, + label: "authors", + expr: &oneOrMoreExpr{ + pos: position{line: 1145, col: 44, offset: 35408}, + expr: &actionExpr{ + pos: position{line: 1154, col: 5, offset: 35640}, + run: (*parser).callonDocumentInformation131, + expr: &seqExpr{ + pos: position{line: 1154, col: 5, offset: 35640}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1154, col: 5, offset: 35640}, + label: "fullName", + expr: &zeroOrOneExpr{ + pos: position{line: 1154, col: 14, offset: 35649}, + expr: &actionExpr{ + pos: position{line: 1165, col: 5, offset: 36029}, + run: (*parser).callonDocumentInformation135, + expr: &seqExpr{ + pos: position{line: 1165, col: 5, offset: 36029}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1165, col: 5, offset: 36029}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1165, col: 12, offset: 36036}, + run: (*parser).callonDocumentInformation138, + expr: &oneOrMoreExpr{ + pos: position{line: 1165, col: 12, offset: 36036}, + expr: &charClassMatcher{ + pos: position{line: 1165, col: 12, offset: 36036}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, }, }, - &zeroOrMoreExpr{ - pos: position{line: 736, col: 8, offset: 23596}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader327, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1168, col: 5, offset: 36116}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation142, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1169, col: 5, offset: 36127}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1169, col: 11, offset: 36133}, + expr: &actionExpr{ + pos: position{line: 1169, col: 12, offset: 36134}, + run: (*parser).callonDocumentInformation146, + expr: &oneOrMoreExpr{ + pos: position{line: 1169, col: 12, offset: 36134}, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + pos: position{line: 1169, col: 12, offset: 36134}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, ignoreCase: false, - inverted: false, + inverted: true, }, }, }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader330, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1172, col: 5, offset: 36215}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation150, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1173, col: 5, offset: 36226}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1173, col: 11, offset: 36232}, + expr: &actionExpr{ + pos: position{line: 1173, col: 12, offset: 36233}, + run: (*parser).callonDocumentInformation154, + expr: &oneOrMoreExpr{ + pos: position{line: 1173, col: 12, offset: 36233}, + expr: &charClassMatcher{ + pos: position{line: 1173, col: 12, offset: 36233}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &zeroOrMoreExpr{ + pos: position{line: 1176, col: 5, offset: 36312}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation158, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, }, - &labeledExpr{ - pos: position{line: 826, col: 5, offset: 26580}, - label: "line", + }, + &labeledExpr{ + pos: position{line: 1154, col: 40, offset: 35675}, + label: "email", + expr: &zeroOrOneExpr{ + pos: position{line: 1154, col: 46, offset: 35681}, expr: &actionExpr{ - pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentHeader340, + pos: position{line: 1182, col: 5, offset: 36434}, + run: (*parser).callonDocumentInformation162, expr: &seqExpr{ - pos: position{line: 805, col: 5, offset: 25998}, + pos: position{line: 1182, col: 5, offset: 36434}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 805, col: 5, offset: 25998}, + pos: position{line: 1182, col: 5, offset: 36434}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, + &litMatcher{ + pos: position{line: 1183, col: 5, offset: 36444}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, &labeledExpr{ - pos: position{line: 806, col: 5, offset: 26071}, - label: "content", + pos: position{line: 1184, col: 5, offset: 36453}, + label: "email", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentHeader346, - expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 1184, col: 12, offset: 36460}, + run: (*parser).callonDocumentInformation169, + expr: &oneOrMoreExpr{ + pos: position{line: 1184, col: 13, offset: 36461}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + pos: position{line: 1184, col: 13, offset: 36461}, + val: "[^>\\r\\n]", + chars: []rune{'>', '\r', '\n'}, ignoreCase: false, inverted: true, }, }, }, }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader350, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, + &litMatcher{ + pos: position{line: 1187, col: 5, offset: 36521}, + val: ">", + ignoreCase: false, + want: "\">\"", }, }, }, }, }, }, + &zeroOrMoreExpr{ + pos: position{line: 1154, col: 69, offset: 35704}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation174, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1154, col: 76, offset: 35711}, + expr: &litMatcher{ + pos: position{line: 1154, col: 76, offset: 35711}, + val: ";", + ignoreCase: false, + want: "\";\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1154, col: 81, offset: 35716}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation179, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1155, col: 5, offset: 35728}, + run: (*parser).callonDocumentInformation181, + }, }, }, }, }, - &zeroOrOneExpr{ - pos: position{line: 816, col: 5, offset: 26297}, - expr: &choiceExpr{ - pos: position{line: 822, col: 29, offset: 26492}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeader359, - expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeader362, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1149, col: 33, offset: 35526}, + run: (*parser).callonDocumentInformation182, + expr: &seqExpr{ + pos: position{line: 1149, col: 33, offset: 35526}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1149, col: 33, offset: 35526}, + val: ":author:", + ignoreCase: false, + want: "\":author:\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1149, col: 44, offset: 35537}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation186, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1149, col: 51, offset: 35544}, + label: "author", + expr: &actionExpr{ + pos: position{line: 1154, col: 5, offset: 35640}, + run: (*parser).callonDocumentInformation189, + expr: &seqExpr{ + pos: position{line: 1154, col: 5, offset: 35640}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1154, col: 5, offset: 35640}, + label: "fullName", + expr: &zeroOrOneExpr{ + pos: position{line: 1154, col: 14, offset: 35649}, + expr: &actionExpr{ + pos: position{line: 1165, col: 5, offset: 36029}, + run: (*parser).callonDocumentInformation193, + expr: &seqExpr{ + pos: position{line: 1165, col: 5, offset: 36029}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1165, col: 5, offset: 36029}, + label: "part1", + expr: &actionExpr{ + pos: position{line: 1165, col: 12, offset: 36036}, + run: (*parser).callonDocumentInformation196, + expr: &oneOrMoreExpr{ + pos: position{line: 1165, col: 12, offset: 36036}, + expr: &charClassMatcher{ + pos: position{line: 1165, col: 12, offset: 36036}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1168, col: 5, offset: 36116}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation200, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1169, col: 5, offset: 36127}, + label: "part2", + expr: &zeroOrOneExpr{ + pos: position{line: 1169, col: 11, offset: 36133}, + expr: &actionExpr{ + pos: position{line: 1169, col: 12, offset: 36134}, + run: (*parser).callonDocumentInformation204, + expr: &oneOrMoreExpr{ + pos: position{line: 1169, col: 12, offset: 36134}, + expr: &charClassMatcher{ + pos: position{line: 1169, col: 12, offset: 36134}, + val: "[^<;\\r\\n ]", + chars: []rune{'<', ';', '\r', '\n', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1172, col: 5, offset: 36215}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation208, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1173, col: 5, offset: 36226}, + label: "part3", + expr: &zeroOrOneExpr{ + pos: position{line: 1173, col: 11, offset: 36232}, + expr: &actionExpr{ + pos: position{line: 1173, col: 12, offset: 36233}, + run: (*parser).callonDocumentInformation212, + expr: &oneOrMoreExpr{ + pos: position{line: 1173, col: 12, offset: 36233}, + expr: &charClassMatcher{ + pos: position{line: 1173, col: 12, offset: 36233}, + val: "[^<;\\r\\n]", + chars: []rune{'<', ';', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1176, col: 5, offset: 36312}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation216, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1154, col: 40, offset: 35675}, + label: "email", + expr: &zeroOrOneExpr{ + pos: position{line: 1154, col: 46, offset: 35681}, + expr: &actionExpr{ + pos: position{line: 1182, col: 5, offset: 36434}, + run: (*parser).callonDocumentInformation220, + expr: &seqExpr{ + pos: position{line: 1182, col: 5, offset: 36434}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1182, col: 5, offset: 36434}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + &litMatcher{ + pos: position{line: 1183, col: 5, offset: 36444}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + &labeledExpr{ + pos: position{line: 1184, col: 5, offset: 36453}, + label: "email", + expr: &actionExpr{ + pos: position{line: 1184, col: 12, offset: 36460}, + run: (*parser).callonDocumentInformation227, + expr: &oneOrMoreExpr{ + pos: position{line: 1184, col: 13, offset: 36461}, + expr: &charClassMatcher{ + pos: position{line: 1184, col: 13, offset: 36461}, + val: "[^>\\r\\n]", + chars: []rune{'>', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1187, col: 5, offset: 36521}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1154, col: 69, offset: 35704}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation232, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1154, col: 76, offset: 35711}, + expr: &litMatcher{ + pos: position{line: 1154, col: 76, offset: 35711}, + val: ";", + ignoreCase: false, + want: "\";\"", + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1154, col: 81, offset: 35716}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation237, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 1155, col: 5, offset: 35728}, + run: (*parser).callonDocumentInformation239, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation241, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1136, col: 5, offset: 35032}, + expr: &choiceExpr{ + pos: position{line: 1136, col: 6, offset: 35033}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2739, col: 22, offset: 88786}, + run: (*parser).callonDocumentInformation250, + expr: &seqExpr{ + pos: position{line: 2739, col: 22, offset: 88786}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2744, col: 31, offset: 89007}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + ¬Expr{ + pos: position{line: 2744, col: 36, offset: 89012}, + expr: &litMatcher{ + pos: position{line: 2744, col: 37, offset: 89013}, + val: "//", + ignoreCase: false, + want: "\"//\"", + }, + }, + &labeledExpr{ + pos: position{line: 2739, col: 49, offset: 88813}, + label: "content", + expr: &actionExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentInformation256, + expr: &zeroOrMoreExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + expr: &charClassMatcher{ + pos: position{line: 3044, col: 13, offset: 97718}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation260, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 814, col: 5, offset: 26232}, + run: (*parser).callonDocumentInformation267, + expr: &seqExpr{ + pos: position{line: 814, col: 5, offset: 26232}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentInformation269, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentInformation272, + expr: &seqExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 734, col: 16, offset: 23505}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 734, col: 23, offset: 23512}, + expr: &litMatcher{ + pos: position{line: 734, col: 23, offset: 23512}, + val: "/", + ignoreCase: false, + want: "\"/\"", + }, + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 736, col: 8, offset: 23596}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation278, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation281, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 815, col: 5, offset: 26263}, + label: "content", + expr: &zeroOrMoreExpr{ + pos: position{line: 825, col: 5, offset: 26549}, + expr: &actionExpr{ + pos: position{line: 825, col: 6, offset: 26550}, + run: (*parser).callonDocumentInformation290, + expr: &seqExpr{ + pos: position{line: 825, col: 6, offset: 26550}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 825, col: 6, offset: 26550}, + expr: &choiceExpr{ + pos: position{line: 822, col: 29, offset: 26492}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentInformation294, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentInformation297, + expr: &seqExpr{ + pos: position{line: 734, col: 16, offset: 23505}, exprs: []interface{}{ &litMatcher{ pos: position{line: 734, col: 16, offset: 23505}, @@ -23951,10 +24387,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader368, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation303, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -23963,28 +24399,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader371, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation306, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -23993,9 +24429,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -24004,322 +24440,465 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1137, col: 5, offset: 35107}, - label: "revision", - expr: &zeroOrOneExpr{ - pos: position{line: 1137, col: 14, offset: 35116}, - expr: &actionExpr{ - pos: position{line: 1193, col: 21, offset: 36710}, - run: (*parser).callonDocumentHeader382, - expr: &seqExpr{ - pos: position{line: 1193, col: 21, offset: 36710}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1193, col: 21, offset: 36710}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader385, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1193, col: 28, offset: 36717}, - expr: &litMatcher{ - pos: position{line: 1193, col: 29, offset: 36718}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - }, - &labeledExpr{ - pos: position{line: 1193, col: 33, offset: 36722}, - label: "revision", - expr: &choiceExpr{ - pos: position{line: 1194, col: 9, offset: 36741}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1194, col: 10, offset: 36742}, - run: (*parser).callonDocumentHeader391, - expr: &seqExpr{ - pos: position{line: 1194, col: 10, offset: 36742}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1194, col: 10, offset: 36742}, - label: "revnumber", - expr: &choiceExpr{ - pos: position{line: 1203, col: 27, offset: 37259}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1203, col: 27, offset: 37259}, - run: (*parser).callonDocumentHeader395, - expr: &seqExpr{ - pos: position{line: 1203, col: 27, offset: 37259}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1203, col: 27, offset: 37259}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - &charClassMatcher{ - pos: position{line: 1203, col: 32, offset: 37264}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 1203, col: 38, offset: 37270}, - expr: &charClassMatcher{ - pos: position{line: 1203, col: 38, offset: 37270}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1205, col: 5, offset: 37318}, - run: (*parser).callonDocumentHeader401, - expr: &seqExpr{ - pos: position{line: 1205, col: 5, offset: 37318}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 1205, col: 5, offset: 37318}, - expr: &litMatcher{ - pos: position{line: 1205, col: 5, offset: 37318}, - val: "v", - ignoreCase: true, - want: "\"v\"i", - }, - }, - &charClassMatcher{ - pos: position{line: 1205, col: 11, offset: 37324}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 1205, col: 17, offset: 37330}, - expr: &charClassMatcher{ - pos: position{line: 1205, col: 17, offset: 37330}, - val: "[^:,\\r\\n]", - chars: []rune{':', ',', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 1205, col: 28, offset: 37341}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeader409, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1205, col: 35, offset: 37348}, - expr: &litMatcher{ - pos: position{line: 1205, col: 36, offset: 37349}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - }, - }, - }, - }, - }, + &labeledExpr{ + pos: position{line: 826, col: 5, offset: 26580}, + label: "line", + expr: &actionExpr{ + pos: position{line: 805, col: 5, offset: 25998}, + run: (*parser).callonDocumentInformation316, + expr: &seqExpr{ + pos: position{line: 805, col: 5, offset: 25998}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 805, col: 5, offset: 25998}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, - &zeroOrOneExpr{ - pos: position{line: 1194, col: 45, offset: 36777}, - expr: &litMatcher{ - pos: position{line: 1194, col: 45, offset: 36777}, - val: ",", - ignoreCase: false, - want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 806, col: 5, offset: 26071}, + label: "content", + expr: &actionExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + run: (*parser).callonDocumentInformation322, + expr: &zeroOrMoreExpr{ + pos: position{line: 3044, col: 13, offset: 97718}, + expr: &charClassMatcher{ + pos: position{line: 3044, col: 13, offset: 97718}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, }, }, - &labeledExpr{ - pos: position{line: 1194, col: 50, offset: 36782}, - label: "revdate", - expr: &zeroOrOneExpr{ - pos: position{line: 1194, col: 58, offset: 36790}, - expr: &actionExpr{ - pos: position{line: 1209, col: 25, offset: 37413}, - run: (*parser).callonDocumentHeader417, - expr: &oneOrMoreExpr{ - pos: position{line: 1209, col: 25, offset: 37413}, - expr: &charClassMatcher{ - pos: position{line: 1209, col: 25, offset: 37413}, - val: "[^:\\r\\n]", - chars: []rune{':', '\r', '\n'}, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation326, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", ignoreCase: false, - inverted: true, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, - &zeroOrOneExpr{ - pos: position{line: 1194, col: 82, offset: 36814}, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 816, col: 5, offset: 26297}, + expr: &choiceExpr{ + pos: position{line: 822, col: 29, offset: 26492}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + run: (*parser).callonDocumentInformation335, + expr: &seqExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 734, col: 5, offset: 23494}, + label: "delimiter", + expr: &actionExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + run: (*parser).callonDocumentInformation338, + expr: &seqExpr{ + pos: position{line: 734, col: 16, offset: 23505}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 734, col: 16, offset: 23505}, + val: "////", + ignoreCase: false, + want: "\"////\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 734, col: 23, offset: 23512}, expr: &litMatcher{ - pos: position{line: 1194, col: 82, offset: 36814}, - val: ":", + pos: position{line: 734, col: 23, offset: 23512}, + val: "/", ignoreCase: false, - want: "\":\"", + want: "\"/\"", }, }, - &labeledExpr{ - pos: position{line: 1194, col: 87, offset: 36819}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1194, col: 97, offset: 36829}, - expr: &actionExpr{ - pos: position{line: 1213, col: 27, offset: 37485}, - run: (*parser).callonDocumentHeader424, - expr: &oneOrMoreExpr{ - pos: position{line: 1213, col: 27, offset: 37485}, - expr: &charClassMatcher{ - pos: position{line: 1213, col: 27, offset: 37485}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 736, col: 8, offset: 23596}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation344, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation347, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, - &actionExpr{ - pos: position{line: 1196, col: 15, offset: 36947}, - run: (*parser).callonDocumentHeader427, - expr: &seqExpr{ - pos: position{line: 1196, col: 15, offset: 36947}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 1196, col: 15, offset: 36947}, - label: "revdate", - expr: &actionExpr{ - pos: position{line: 1209, col: 25, offset: 37413}, - run: (*parser).callonDocumentHeader430, - expr: &oneOrMoreExpr{ - pos: position{line: 1209, col: 25, offset: 37413}, - expr: &charClassMatcher{ - pos: position{line: 1209, col: 25, offset: 37413}, - val: "[^:\\r\\n]", - chars: []rune{':', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1137, col: 5, offset: 35107}, + label: "revision", + expr: &zeroOrOneExpr{ + pos: position{line: 1137, col: 14, offset: 35116}, + expr: &actionExpr{ + pos: position{line: 1193, col: 21, offset: 36710}, + run: (*parser).callonDocumentInformation358, + expr: &seqExpr{ + pos: position{line: 1193, col: 21, offset: 36710}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1193, col: 21, offset: 36710}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation361, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1193, col: 28, offset: 36717}, + expr: &litMatcher{ + pos: position{line: 1193, col: 29, offset: 36718}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1193, col: 33, offset: 36722}, + label: "revision", + expr: &choiceExpr{ + pos: position{line: 1194, col: 9, offset: 36741}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1194, col: 10, offset: 36742}, + run: (*parser).callonDocumentInformation367, + expr: &seqExpr{ + pos: position{line: 1194, col: 10, offset: 36742}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1194, col: 10, offset: 36742}, + label: "revnumber", + expr: &choiceExpr{ + pos: position{line: 1203, col: 27, offset: 37259}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1203, col: 27, offset: 37259}, + run: (*parser).callonDocumentInformation371, + expr: &seqExpr{ + pos: position{line: 1203, col: 27, offset: 37259}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1203, col: 27, offset: 37259}, + val: "v", + ignoreCase: true, + want: "\"v\"i", + }, + &charClassMatcher{ + pos: position{line: 1203, col: 32, offset: 37264}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 1203, col: 38, offset: 37270}, + expr: &charClassMatcher{ + pos: position{line: 1203, col: 38, offset: 37270}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, - &zeroOrOneExpr{ - pos: position{line: 1196, col: 46, offset: 36978}, - expr: &litMatcher{ - pos: position{line: 1196, col: 46, offset: 36978}, - val: ":", + }, + }, + &actionExpr{ + pos: position{line: 1205, col: 5, offset: 37318}, + run: (*parser).callonDocumentInformation377, + expr: &seqExpr{ + pos: position{line: 1205, col: 5, offset: 37318}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 1205, col: 5, offset: 37318}, + expr: &litMatcher{ + pos: position{line: 1205, col: 5, offset: 37318}, + val: "v", + ignoreCase: true, + want: "\"v\"i", + }, + }, + &charClassMatcher{ + pos: position{line: 1205, col: 11, offset: 37324}, + val: "[0-9]", + ranges: []rune{'0', '9'}, ignoreCase: false, - want: "\":\"", + inverted: false, }, - }, - &labeledExpr{ - pos: position{line: 1196, col: 51, offset: 36983}, - label: "revremark", - expr: &zeroOrOneExpr{ - pos: position{line: 1196, col: 61, offset: 36993}, + &oneOrMoreExpr{ + pos: position{line: 1205, col: 17, offset: 37330}, + expr: &charClassMatcher{ + pos: position{line: 1205, col: 17, offset: 37330}, + val: "[^:,\\r\\n]", + chars: []rune{':', ',', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 1205, col: 28, offset: 37341}, expr: &actionExpr{ - pos: position{line: 1213, col: 27, offset: 37485}, - run: (*parser).callonDocumentHeader437, - expr: &oneOrMoreExpr{ - pos: position{line: 1213, col: 27, offset: 37485}, - expr: &charClassMatcher{ - pos: position{line: 1213, col: 27, offset: 37485}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonDocumentInformation385, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, }, + &andExpr{ + pos: position{line: 1205, col: 35, offset: 37348}, + expr: &litMatcher{ + pos: position{line: 1205, col: 36, offset: 37349}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, }, }, }, }, }, }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeader441, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", + &zeroOrOneExpr{ + pos: position{line: 1194, col: 45, offset: 36777}, + expr: &litMatcher{ + pos: position{line: 1194, col: 45, offset: 36777}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + &labeledExpr{ + pos: position{line: 1194, col: 50, offset: 36782}, + label: "revdate", + expr: &zeroOrOneExpr{ + pos: position{line: 1194, col: 58, offset: 36790}, + expr: &actionExpr{ + pos: position{line: 1209, col: 25, offset: 37413}, + run: (*parser).callonDocumentInformation393, + expr: &oneOrMoreExpr{ + pos: position{line: 1209, col: 25, offset: 37413}, + expr: &charClassMatcher{ + pos: position{line: 1209, col: 25, offset: 37413}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, ignoreCase: false, - want: "\"\\r\\n\"", + inverted: true, }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1194, col: 82, offset: 36814}, + expr: &litMatcher{ + pos: position{line: 1194, col: 82, offset: 36814}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1194, col: 87, offset: 36819}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1194, col: 97, offset: 36829}, + expr: &actionExpr{ + pos: position{line: 1213, col: 27, offset: 37485}, + run: (*parser).callonDocumentInformation400, + expr: &oneOrMoreExpr{ + pos: position{line: 1213, col: 27, offset: 37485}, + expr: &charClassMatcher{ + pos: position{line: 1213, col: 27, offset: 37485}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, - want: "\"\\r\"", + inverted: true, }, }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1196, col: 15, offset: 36947}, + run: (*parser).callonDocumentInformation403, + expr: &seqExpr{ + pos: position{line: 1196, col: 15, offset: 36947}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 1196, col: 15, offset: 36947}, + label: "revdate", + expr: &actionExpr{ + pos: position{line: 1209, col: 25, offset: 37413}, + run: (*parser).callonDocumentInformation406, + expr: &oneOrMoreExpr{ + pos: position{line: 1209, col: 25, offset: 37413}, + expr: &charClassMatcher{ + pos: position{line: 1209, col: 25, offset: 37413}, + val: "[^:\\r\\n]", + chars: []rune{':', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrOneExpr{ + pos: position{line: 1196, col: 46, offset: 36978}, + expr: &litMatcher{ + pos: position{line: 1196, col: 46, offset: 36978}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + }, + &labeledExpr{ + pos: position{line: 1196, col: 51, offset: 36983}, + label: "revremark", + expr: &zeroOrOneExpr{ + pos: position{line: 1196, col: 61, offset: 36993}, + expr: &actionExpr{ + pos: position{line: 1213, col: 27, offset: 37485}, + run: (*parser).callonDocumentInformation413, + expr: &oneOrMoreExpr{ + pos: position{line: 1213, col: 27, offset: 37485}, + expr: &charClassMatcher{ + pos: position{line: 1213, col: 27, offset: 37485}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, }, @@ -24329,6 +24908,44 @@ var g = &grammar{ }, }, }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentInformation417, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, }, }, }, @@ -24339,607 +24956,445 @@ var g = &grammar{ }, }, }, + }, + }, + }, + }, + { + name: "DocumentTitle", + pos: position{line: 1129, col: 1, offset: 34874}, + expr: &actionExpr{ + pos: position{line: 1130, col: 5, offset: 34896}, + run: (*parser).callonDocumentTitle1, + expr: &seqExpr{ + pos: position{line: 1130, col: 5, offset: 34896}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1130, col: 5, offset: 34896}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + &actionExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + run: (*parser).callonDocumentTitle4, + expr: &oneOrMoreExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + expr: &charClassMatcher{ + pos: position{line: 3100, col: 12, offset: 99305}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, &labeledExpr{ - pos: position{line: 1100, col: 5, offset: 33789}, - label: "moreExtraAttrs", + pos: position{line: 1130, col: 16, offset: 34907}, + label: "title", expr: &ruleRefExpr{ - pos: position{line: 1100, col: 21, offset: 33805}, - name: "DocumentHeaderAttributes", + pos: position{line: 1130, col: 23, offset: 34914}, + name: "SectionTitle", }, }, - &andCodeExpr{ - pos: position{line: 1101, col: 5, offset: 33835}, - run: (*parser).callonDocumentHeader450, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonDocumentTitle10, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, }, }, }, }, }, { - name: "DocumentHeaderAttributes", - pos: position{line: 1119, col: 1, offset: 34470}, - expr: &zeroOrMoreExpr{ - pos: position{line: 1119, col: 29, offset: 34498}, - expr: &choiceExpr{ - pos: position{line: 1119, col: 30, offset: 34499}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 1119, col: 30, offset: 34499}, - name: "AttributeDeclaration", - }, - &actionExpr{ - pos: position{line: 350, col: 19, offset: 10719}, - run: (*parser).callonDocumentHeaderAttributes4, - expr: &seqExpr{ - pos: position{line: 350, col: 19, offset: 10719}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 350, col: 19, offset: 10719}, - val: ":!", - ignoreCase: false, - want: "\":!\"", - }, - &labeledExpr{ - pos: position{line: 350, col: 24, offset: 10724}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonDocumentHeaderAttributes8, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + name: "InlineElement", + pos: position{line: 1280, col: 1, offset: 39655}, + expr: &actionExpr{ + pos: position{line: 1281, col: 5, offset: 39678}, + run: (*parser).callonInlineElement1, + expr: &labeledExpr{ + pos: position{line: 1281, col: 5, offset: 39678}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 1282, col: 9, offset: 39696}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3022, col: 5, offset: 97079}, + run: (*parser).callonInlineElement4, + expr: &seqExpr{ + pos: position{line: 3022, col: 5, offset: 97079}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3022, col: 5, offset: 97079}, + expr: &charClassMatcher{ + pos: position{line: 3022, col: 5, offset: 97079}, + val: "[,;!?0-9\\pL]", + chars: []rune{',', ';', '!', '?'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 3023, col: 6, offset: 97129}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineElement9, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + &andExpr{ + pos: position{line: 3023, col: 14, offset: 97137}, + expr: &choiceExpr{ + pos: position{line: 3023, col: 16, offset: 97139}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3023, col: 16, offset: 97139}, + val: "[.�]", + chars: []rune{'.', '�'}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlineElement14, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 350, col: 45, offset: 10745}, - val: ":", + }, + }, + &actionExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + run: (*parser).callonInlineElement21, + expr: &oneOrMoreExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + expr: &charClassMatcher{ + pos: position{line: 3100, col: 12, offset: 99305}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\":\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 350, col: 49, offset: 10749}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeaderAttributes15, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes18, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, + inverted: false, }, }, }, - }, - &actionExpr{ - pos: position{line: 352, col: 9, offset: 10840}, - run: (*parser).callonDocumentHeaderAttributes25, - expr: &seqExpr{ - pos: position{line: 352, col: 9, offset: 10840}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 352, col: 9, offset: 10840}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 352, col: 13, offset: 10844}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonDocumentHeaderAttributes29, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 1230, col: 5, offset: 38241}, + run: (*parser).callonInlineElement24, + expr: &seqExpr{ + pos: position{line: 1230, col: 5, offset: 38241}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1230, col: 5, offset: 38241}, + run: (*parser).callonInlineElement26, }, - }, - &litMatcher{ - pos: position{line: 352, col: 34, offset: 10865}, - val: "!:", - ignoreCase: false, - want: "\"!:\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 352, col: 39, offset: 10870}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeaderAttributes36, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &litMatcher{ + pos: position{line: 1233, col: 5, offset: 38343}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1233, col: 9, offset: 38347}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineElement29, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes39, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &andExpr{ + pos: position{line: 1233, col: 16, offset: 38354}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlineElement33, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, - run: (*parser).callonDocumentHeaderAttributes46, - expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, - val: "//", - ignoreCase: false, - want: "\"//\"", - }, - ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, - expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, - val: "//", + &actionExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + run: (*parser).callonInlineElement40, + expr: &seqExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2753, col: 5, offset: 89277}, + val: "\\", ignoreCase: false, - want: "\"//\"", + want: "\"\\\\\"", }, - }, - &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, - label: "content", - expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentHeaderAttributes52, - expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, + &choiceExpr{ + pos: position{line: 2753, col: 10, offset: 89282}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonInlineElement44, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes56, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonInlineElement46, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", }, }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonInlineElement48, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 814, col: 5, offset: 26232}, - run: (*parser).callonDocumentHeaderAttributes63, - expr: &seqExpr{ - pos: position{line: 814, col: 5, offset: 26232}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeaderAttributes65, - expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeaderAttributes68, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 734, col: 16, offset: 23505}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 734, col: 23, offset: 23512}, - expr: &litMatcher{ - pos: position{line: 734, col: 23, offset: 23512}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonInlineElement50, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", }, }, - &zeroOrMoreExpr{ - pos: position{line: 736, col: 8, offset: 23596}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeaderAttributes74, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonInlineElement52, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", }, }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes77, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonInlineElement54, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", }, }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 815, col: 5, offset: 26263}, - label: "content", - expr: &zeroOrMoreExpr{ - pos: position{line: 825, col: 5, offset: 26549}, - expr: &actionExpr{ - pos: position{line: 825, col: 6, offset: 26550}, - run: (*parser).callonDocumentHeaderAttributes86, - expr: &seqExpr{ - pos: position{line: 825, col: 6, offset: 26550}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 825, col: 6, offset: 26550}, - expr: &choiceExpr{ - pos: position{line: 822, col: 29, offset: 26492}, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonInlineElement56, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonInlineElement58, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonInlineElement60, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonInlineElement62, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonInlineElement64, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeaderAttributes90, - expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeaderAttributes93, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 734, col: 16, offset: 23505}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 734, col: 23, offset: 23512}, - expr: &litMatcher{ - pos: position{line: 734, col: 23, offset: 23512}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineElement67, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlineElement71, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 736, col: 8, offset: 23596}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeaderAttributes99, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes102, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 826, col: 5, offset: 26580}, - label: "line", - expr: &actionExpr{ - pos: position{line: 805, col: 5, offset: 25998}, - run: (*parser).callonDocumentHeaderAttributes112, - expr: &seqExpr{ - pos: position{line: 805, col: 5, offset: 25998}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 805, col: 5, offset: 25998}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - &labeledExpr{ - pos: position{line: 806, col: 5, offset: 26071}, - label: "content", - expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - run: (*parser).callonDocumentHeaderAttributes118, - expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, - expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes122, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, @@ -24950,96 +25405,67 @@ var g = &grammar{ }, }, }, - }, - }, - }, - &zeroOrOneExpr{ - pos: position{line: 816, col: 5, offset: 26297}, - expr: &choiceExpr{ - pos: position{line: 822, col: 29, offset: 26492}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - run: (*parser).callonDocumentHeaderAttributes131, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonInlineElement78, expr: &seqExpr{ - pos: position{line: 734, col: 5, offset: 23494}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 734, col: 5, offset: 23494}, - label: "delimiter", - expr: &actionExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - run: (*parser).callonDocumentHeaderAttributes134, - expr: &seqExpr{ - pos: position{line: 734, col: 16, offset: 23505}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 734, col: 16, offset: 23505}, - val: "////", - ignoreCase: false, - want: "\"////\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 734, col: 23, offset: 23512}, - expr: &litMatcher{ - pos: position{line: 734, col: 23, offset: 23512}, - val: "/", - ignoreCase: false, - want: "\"/\"", - }, - }, - }, - }, - }, + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonInlineElement80, }, - &zeroOrMoreExpr{ - pos: position{line: 736, col: 8, offset: 23596}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeaderAttributes140, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes143, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlineElement85, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, }, }, }, @@ -25047,130 +25473,145 @@ var g = &grammar{ }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonInlineElement92, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", }, }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 671, col: 14, offset: 21401}, - run: (*parser).callonDocumentHeaderAttributes152, - expr: &seqExpr{ - pos: position{line: 671, col: 14, offset: 21401}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 671, col: 14, offset: 21401}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 671, col: 19, offset: 21406}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonDocumentHeaderAttributes158, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonDocumentHeaderAttributes161, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonInlineElement94, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", }, }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonInlineElement96, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, }, }, }, }, }, }, - }, - }, - }, - }, - }, - { - name: "InlineElement", - pos: position{line: 1280, col: 1, offset: 39655}, - expr: &actionExpr{ - pos: position{line: 1281, col: 5, offset: 39678}, - run: (*parser).callonInlineElement1, - expr: &labeledExpr{ - pos: position{line: 1281, col: 5, offset: 39678}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 1282, col: 9, offset: 39696}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, - run: (*parser).callonInlineElement4, + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonInlineElement98, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonInlineElement100, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonInlineElement102, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonInlineElement104, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonInlineElement106, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonInlineElement108, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonInlineElement110, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonInlineElement112, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonInlineElement114, expr: &seqExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, - expr: &charClassMatcher{ - pos: position{line: 2991, col: 5, offset: 96178}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonInlineElement116, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2992, col: 6, offset: 96228}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineElement9, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineElement119, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -25178,37 +25619,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2992, col: 14, offset: 96236}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 2992, col: 16, offset: 96238}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2992, col: 16, offset: 96238}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, - }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlineElement14, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlineElement123, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -25217,9 +25651,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -25231,74 +25665,54 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - run: (*parser).callonInlineElement21, - expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &actionExpr{ - pos: position{line: 1230, col: 5, offset: 38241}, - run: (*parser).callonInlineElement24, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonInlineElement130, expr: &seqExpr{ - pos: position{line: 1230, col: 5, offset: 38241}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 1230, col: 5, offset: 38241}, - run: (*parser).callonInlineElement26, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonInlineElement132, }, &litMatcher{ - pos: position{line: 1233, col: 5, offset: 38343}, - val: "+", + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1233, col: 9, offset: 38347}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineElement29, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + want: "\"--\"", }, &andExpr{ - pos: position{line: 1233, col: 16, offset: 38354}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlineElement33, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlineElement137, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -25307,9 +25721,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -25319,577 +25733,69 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - run: (*parser).callonInlineElement40, + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonInlineElement144, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonInlineElement146, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonInlineElement148, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonInlineElement150, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + run: (*parser).callonInlineElement152, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, - val: "\\", + pos: position{line: 2835, col: 14, offset: 91258}, + val: "\\'", ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonInlineElement44, - expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonInlineElement46, - expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonInlineElement48, - expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonInlineElement50, - expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonInlineElement52, - expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonInlineElement54, - expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonInlineElement56, - expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonInlineElement58, - expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonInlineElement60, - expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonInlineElement62, - expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonInlineElement64, - }, - &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineElement67, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, - expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlineElement71, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonInlineElement78, - expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonInlineElement80, - }, - &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, - expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlineElement85, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonInlineElement92, - expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonInlineElement94, - expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonInlineElement96, - expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonInlineElement98, - expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonInlineElement100, - expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonInlineElement102, - expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonInlineElement104, - expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonInlineElement106, - expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonInlineElement108, - expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonInlineElement110, - expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonInlineElement112, - expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonInlineElement114, - expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonInlineElement116, - }, - &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineElement119, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, - expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlineElement123, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonInlineElement130, - expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonInlineElement132, - }, - &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, - expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlineElement137, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonInlineElement144, - expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonInlineElement146, - expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonInlineElement148, - expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonInlineElement150, - expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - run: (*parser).callonInlineElement152, - expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", + want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -25900,13 +25806,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonInlineElement158, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -25914,15 +25820,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -26295,23 +26201,23 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonInlineElement235, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonInlineElement237, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonInlineElement240, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -26332,12 +26238,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonInlineElement246, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -26349,10 +26255,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonInlineElement250, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -26550,12 +26456,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonInlineElement288, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -26577,10 +26483,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonInlineElement292, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -26594,10 +26500,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3009, col: 12, offset: 96752}, + pos: position{line: 3040, col: 12, offset: 97653}, run: (*parser).callonInlineElement294, expr: &charClassMatcher{ - pos: position{line: 3009, col: 12, offset: 96752}, + pos: position{line: 3040, col: 12, offset: 97653}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -26663,12 +26569,12 @@ var g = &grammar{ pos: position{line: 1329, col: 13, offset: 41324}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonInlineMenu6, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -26737,15 +26643,15 @@ var g = &grammar{ pos: position{line: 1340, col: 31, offset: 41784}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, run: (*parser).callonIndexTermContent5, expr: &seqExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, expr: &charClassMatcher{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -26754,21 +26660,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2984, col: 15, offset: 95970}, + pos: position{line: 3015, col: 15, offset: 96871}, expr: &choiceExpr{ - pos: position{line: 2984, col: 17, offset: 95972}, + pos: position{line: 3015, col: 17, offset: 96873}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2984, col: 17, offset: 95972}, + pos: position{line: 3015, col: 17, offset: 96873}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -26778,15 +26684,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, run: (*parser).callonIndexTermContent14, expr: &seqExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, expr: &charClassMatcher{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -26795,21 +26701,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 2986, col: 19, offset: 96064}, + pos: position{line: 3017, col: 19, offset: 96965}, expr: &seqExpr{ - pos: position{line: 2986, col: 20, offset: 96065}, + pos: position{line: 3017, col: 20, offset: 96966}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2986, col: 20, offset: 96065}, + pos: position{line: 3017, col: 20, offset: 96966}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 2986, col: 27, offset: 96072}, + pos: position{line: 3017, col: 27, offset: 96973}, expr: &charClassMatcher{ - pos: position{line: 2986, col: 27, offset: 96072}, + pos: position{line: 3017, col: 27, offset: 96973}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -26828,10 +26734,10 @@ var g = &grammar{ name: "QuotedText", }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonIndexTermContent24, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -26839,23 +26745,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonIndexTermContent26, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonIndexTermContent28, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonIndexTermContent31, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -26876,12 +26782,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonIndexTermContent37, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -26893,10 +26799,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonIndexTermContent41, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -27094,12 +27000,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonIndexTermContent79, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -27121,10 +27027,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonIndexTermContent83, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -27222,45 +27128,45 @@ var g = &grammar{ pos: position{line: 1361, col: 15, offset: 42597}, label: "path", expr: &actionExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, run: (*parser).callonImageBlock5, expr: &seqExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3025, col: 20, offset: 97079}, + pos: position{line: 3056, col: 20, offset: 97980}, expr: &choiceExpr{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3033, col: 23, offset: 97353}, + pos: position{line: 3064, col: 23, offset: 98254}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3033, col: 36, offset: 97366}, + pos: position{line: 3064, col: 36, offset: 98267}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3033, col: 47, offset: 97377}, + pos: position{line: 3064, col: 47, offset: 98278}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3033, col: 58, offset: 97388}, + pos: position{line: 3064, col: 58, offset: 98289}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -27270,43 +27176,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3025, col: 30, offset: 97089}, + pos: position{line: 3056, col: 30, offset: 97990}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3025, col: 35, offset: 97094}, + pos: position{line: 3056, col: 35, offset: 97995}, expr: &choiceExpr{ - pos: position{line: 3025, col: 36, offset: 97095}, + pos: position{line: 3056, col: 36, offset: 97996}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonImageBlock18, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonImageBlock25, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -27315,13 +27221,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonImageBlock29, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -27329,23 +27235,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonImageBlock36, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -27713,23 +27619,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonImageBlock107, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonImageBlock109, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonImageBlock112, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -27750,12 +27656,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonImageBlock118, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -27767,10 +27673,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonImageBlock122, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -27968,12 +27874,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonImageBlock160, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -27995,10 +27901,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonImageBlock164, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -28012,10 +27918,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonImageBlock166, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -28086,10 +27992,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1361, col: 61, offset: 42643}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonImageBlock179, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28098,28 +28004,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonImageBlock182, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -28128,9 +28034,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -28167,45 +28073,45 @@ var g = &grammar{ pos: position{line: 1366, col: 30, offset: 42889}, label: "path", expr: &actionExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, run: (*parser).callonInlineImage7, expr: &seqExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3025, col: 20, offset: 97079}, + pos: position{line: 3056, col: 20, offset: 97980}, expr: &choiceExpr{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3033, col: 23, offset: 97353}, + pos: position{line: 3064, col: 23, offset: 98254}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3033, col: 36, offset: 97366}, + pos: position{line: 3064, col: 36, offset: 98267}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3033, col: 47, offset: 97377}, + pos: position{line: 3064, col: 47, offset: 98278}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3033, col: 58, offset: 97388}, + pos: position{line: 3064, col: 58, offset: 98289}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -28215,43 +28121,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3025, col: 30, offset: 97089}, + pos: position{line: 3056, col: 30, offset: 97990}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3025, col: 35, offset: 97094}, + pos: position{line: 3056, col: 35, offset: 97995}, expr: &choiceExpr{ - pos: position{line: 3025, col: 36, offset: 97095}, + pos: position{line: 3056, col: 36, offset: 97996}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonInlineImage20, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonInlineImage27, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -28260,13 +28166,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonInlineImage31, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -28274,23 +28180,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonInlineImage38, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28658,23 +28564,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonInlineImage109, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonInlineImage111, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonInlineImage114, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -28695,12 +28601,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonInlineImage120, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -28712,10 +28618,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonInlineImage124, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -28913,12 +28819,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonInlineImage162, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -28940,10 +28846,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonInlineImage166, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -28957,10 +28863,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonInlineImage168, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -29100,12 +29006,12 @@ var g = &grammar{ expr: &zeroOrOneExpr{ pos: position{line: 1380, col: 35, offset: 43797}, expr: &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonInlineFootnote6, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -29188,25 +29094,25 @@ var g = &grammar{ name: "InlineElement", }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonFootnoteElement8, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -29339,52 +29245,52 @@ var g = &grammar{ pos: position{line: 1443, col: 5, offset: 46489}, label: "url", expr: &actionExpr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, run: (*parser).callonLink6, expr: &seqExpr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, expr: &litMatcher{ - pos: position{line: 3029, col: 24, offset: 97222}, + pos: position{line: 3060, col: 24, offset: 98123}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3029, col: 28, offset: 97226}, + pos: position{line: 3060, col: 28, offset: 98127}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3033, col: 23, offset: 97353}, + pos: position{line: 3064, col: 23, offset: 98254}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3033, col: 36, offset: 97366}, + pos: position{line: 3064, col: 36, offset: 98267}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3033, col: 47, offset: 97377}, + pos: position{line: 3064, col: 47, offset: 98278}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3033, col: 58, offset: 97388}, + pos: position{line: 3064, col: 58, offset: 98289}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -29393,40 +29299,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3029, col: 44, offset: 97242}, + pos: position{line: 3060, col: 44, offset: 98143}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3029, col: 49, offset: 97247}, + pos: position{line: 3060, col: 49, offset: 98148}, expr: &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonLink19, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonLink26, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -29435,13 +29341,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonLink30, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -29449,23 +29355,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLink37, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -29833,23 +29739,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonLink108, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonLink110, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonLink113, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -29870,12 +29776,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonLink119, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -29887,10 +29793,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonLink123, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30088,12 +29994,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonLink161, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -30115,10 +30021,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonLink165, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -30132,10 +30038,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonLink167, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -30203,45 +30109,45 @@ var g = &grammar{ pos: position{line: 1455, col: 17, offset: 46828}, label: "url", expr: &actionExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, run: (*parser).callonRelativeLink6, expr: &seqExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3025, col: 20, offset: 97079}, + pos: position{line: 3056, col: 20, offset: 97980}, expr: &choiceExpr{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3033, col: 23, offset: 97353}, + pos: position{line: 3064, col: 23, offset: 98254}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3033, col: 36, offset: 97366}, + pos: position{line: 3064, col: 36, offset: 98267}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3033, col: 47, offset: 97377}, + pos: position{line: 3064, col: 47, offset: 98278}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3033, col: 58, offset: 97388}, + pos: position{line: 3064, col: 58, offset: 98289}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -30251,43 +30157,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3025, col: 30, offset: 97089}, + pos: position{line: 3056, col: 30, offset: 97990}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3025, col: 35, offset: 97094}, + pos: position{line: 3056, col: 35, offset: 97995}, expr: &choiceExpr{ - pos: position{line: 3025, col: 36, offset: 97095}, + pos: position{line: 3056, col: 36, offset: 97996}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonRelativeLink19, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonRelativeLink26, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -30296,13 +30202,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonRelativeLink30, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -30310,23 +30216,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonRelativeLink37, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30694,23 +30600,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonRelativeLink108, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonRelativeLink110, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonRelativeLink113, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -30731,12 +30637,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonRelativeLink119, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -30748,10 +30654,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonRelativeLink123, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -30949,12 +30855,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonRelativeLink161, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -30976,10 +30882,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonRelativeLink165, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -30993,10 +30899,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonRelativeLink167, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -31083,45 +30989,45 @@ var g = &grammar{ pos: position{line: 1460, col: 13, offset: 46995}, label: "url", expr: &actionExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, run: (*parser).callonRelativeLink183, expr: &seqExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 3025, col: 13, offset: 97072}, + pos: position{line: 3056, col: 13, offset: 97973}, label: "scheme", expr: &zeroOrOneExpr{ - pos: position{line: 3025, col: 20, offset: 97079}, + pos: position{line: 3056, col: 20, offset: 97980}, expr: &choiceExpr{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3033, col: 23, offset: 97353}, + pos: position{line: 3064, col: 23, offset: 98254}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3033, col: 36, offset: 97366}, + pos: position{line: 3064, col: 36, offset: 98267}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3033, col: 47, offset: 97377}, + pos: position{line: 3064, col: 47, offset: 98278}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3033, col: 58, offset: 97388}, + pos: position{line: 3064, col: 58, offset: 98289}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -31131,43 +31037,43 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3025, col: 30, offset: 97089}, + pos: position{line: 3056, col: 30, offset: 97990}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3025, col: 35, offset: 97094}, + pos: position{line: 3056, col: 35, offset: 97995}, expr: &choiceExpr{ - pos: position{line: 3025, col: 36, offset: 97095}, + pos: position{line: 3056, col: 36, offset: 97996}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonRelativeLink196, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonRelativeLink203, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -31176,13 +31082,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonRelativeLink207, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -31190,23 +31096,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonRelativeLink214, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31574,23 +31480,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonRelativeLink285, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonRelativeLink287, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonRelativeLink290, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -31611,12 +31517,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonRelativeLink296, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -31628,10 +31534,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonRelativeLink300, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -31829,12 +31735,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonRelativeLink338, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -31856,10 +31762,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonRelativeLink342, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -31873,10 +31779,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonRelativeLink344, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -31972,52 +31878,52 @@ var g = &grammar{ pos: position{line: 1467, col: 9, offset: 47304}, label: "url", expr: &actionExpr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, run: (*parser).callonExternalLink6, expr: &seqExpr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, expr: &litMatcher{ - pos: position{line: 3029, col: 24, offset: 97222}, + pos: position{line: 3060, col: 24, offset: 98123}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3029, col: 28, offset: 97226}, + pos: position{line: 3060, col: 28, offset: 98127}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3033, col: 23, offset: 97353}, + pos: position{line: 3064, col: 23, offset: 98254}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3033, col: 36, offset: 97366}, + pos: position{line: 3064, col: 36, offset: 98267}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3033, col: 47, offset: 97377}, + pos: position{line: 3064, col: 47, offset: 98278}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3033, col: 58, offset: 97388}, + pos: position{line: 3064, col: 58, offset: 98289}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -32026,40 +31932,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3029, col: 44, offset: 97242}, + pos: position{line: 3060, col: 44, offset: 98143}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3029, col: 49, offset: 97247}, + pos: position{line: 3060, col: 49, offset: 98148}, expr: &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonExternalLink19, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonExternalLink26, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -32068,13 +31974,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonExternalLink30, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -32082,23 +31988,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExternalLink37, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32466,23 +32372,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonExternalLink108, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonExternalLink110, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonExternalLink113, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -32503,12 +32409,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonExternalLink119, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -32520,10 +32426,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExternalLink123, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -32721,12 +32627,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonExternalLink161, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -32748,10 +32654,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonExternalLink165, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -32765,10 +32671,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonExternalLink167, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -32811,52 +32717,52 @@ var g = &grammar{ pos: position{line: 1472, col: 5, offset: 47474}, label: "url", expr: &actionExpr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, run: (*parser).callonExternalLink175, expr: &seqExpr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3029, col: 23, offset: 97221}, + pos: position{line: 3060, col: 23, offset: 98122}, expr: &litMatcher{ - pos: position{line: 3029, col: 24, offset: 97222}, + pos: position{line: 3060, col: 24, offset: 98123}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3029, col: 28, offset: 97226}, + pos: position{line: 3060, col: 28, offset: 98127}, label: "scheme", expr: &choiceExpr{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3033, col: 11, offset: 97341}, + pos: position{line: 3064, col: 11, offset: 98242}, val: "http://", ignoreCase: false, want: "\"http://\"", }, &litMatcher{ - pos: position{line: 3033, col: 23, offset: 97353}, + pos: position{line: 3064, col: 23, offset: 98254}, val: "https://", ignoreCase: false, want: "\"https://\"", }, &litMatcher{ - pos: position{line: 3033, col: 36, offset: 97366}, + pos: position{line: 3064, col: 36, offset: 98267}, val: "ftp://", ignoreCase: false, want: "\"ftp://\"", }, &litMatcher{ - pos: position{line: 3033, col: 47, offset: 97377}, + pos: position{line: 3064, col: 47, offset: 98278}, val: "irc://", ignoreCase: false, want: "\"irc://\"", }, &litMatcher{ - pos: position{line: 3033, col: 58, offset: 97388}, + pos: position{line: 3064, col: 58, offset: 98289}, val: "mailto:", ignoreCase: false, want: "\"mailto:\"", @@ -32865,40 +32771,40 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 3029, col: 44, offset: 97242}, + pos: position{line: 3060, col: 44, offset: 98143}, label: "path", expr: &oneOrMoreExpr{ - pos: position{line: 3029, col: 49, offset: 97247}, + pos: position{line: 3060, col: 49, offset: 98148}, expr: &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, run: (*parser).callonExternalLink188, expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, + pos: position{line: 3067, col: 5, offset: 98317}, expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, + pos: position{line: 3067, col: 6, offset: 98318}, val: "[", ignoreCase: false, want: "\"[\"", }, }, &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, + pos: position{line: 3068, col: 5, offset: 98342}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + pos: position{line: 3068, col: 14, offset: 98351}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, run: (*parser).callonExternalLink195, expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3069, col: 9, offset: 98361}, expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, + pos: position{line: 3069, col: 10, offset: 98362}, val: "[^\\r\\n[]�{.,;?!<> ]", chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, ignoreCase: false, @@ -32907,13 +32813,13 @@ var g = &grammar{ }, }, &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, + pos: position{line: 3072, col: 11, offset: 98627}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, run: (*parser).callonExternalLink199, expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, + pos: position{line: 3035, col: 25, offset: 97504}, val: "[.,;?!]", chars: []rune{'.', ',', ';', '?', '!'}, ignoreCase: false, @@ -32921,23 +32827,23 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, + pos: position{line: 3072, col: 32, offset: 98648}, expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, + pos: position{line: 3072, col: 34, offset: 98650}, expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, + pos: position{line: 3072, col: 36, offset: 98652}, alternatives: []interface{}{ ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExternalLink206, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33305,23 +33211,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonExternalLink277, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonExternalLink279, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonExternalLink282, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -33342,12 +33248,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonExternalLink288, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -33359,10 +33265,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExternalLink292, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33560,12 +33466,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonExternalLink330, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -33587,10 +33493,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonExternalLink334, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -33604,10 +33510,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, run: (*parser).callonExternalLink336, expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, + pos: position{line: 3075, col: 11, offset: 98733}, val: "{", ignoreCase: false, want: "\"{\"", @@ -33676,10 +33582,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1587, col: 5, offset: 51226}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListElements11, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33846,12 +33752,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListElements45, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -33894,28 +33800,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListElements57, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -33924,9 +33830,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -33956,10 +33862,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1637, col: 5, offset: 53188}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListElements70, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34000,12 +33906,12 @@ var g = &grammar{ run: (*parser).callonListElements78, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListElements79, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34077,12 +33983,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListElements96, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34126,28 +34032,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListElements108, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34156,9 +34062,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34216,12 +34122,12 @@ var g = &grammar{ want: "\">\"", }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListElements126, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34264,28 +34170,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListElements138, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34294,9 +34200,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34361,28 +34267,28 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1672, col: 35, offset: 54237}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListElements161, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34391,9 +34297,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34456,10 +34362,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1690, col: 9, offset: 54742}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListElements182, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34468,28 +34374,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListElements185, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34498,9 +34404,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34516,19 +34422,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListElements199, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34537,28 +34443,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListElements202, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34567,9 +34473,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34588,12 +34494,12 @@ var g = &grammar{ pos: position{line: 1697, col: 9, offset: 54890}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListElements211, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34620,28 +34526,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListElements219, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34650,9 +34556,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34712,9 +34618,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1497, col: 5, offset: 48437}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34741,19 +34647,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement17, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34762,28 +34668,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement20, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -34792,9 +34698,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -34827,10 +34733,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1587, col: 5, offset: 51226}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement35, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -34997,12 +34903,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement69, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35045,28 +34951,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement81, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35075,9 +34981,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -35107,10 +35013,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1637, col: 5, offset: 53188}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement94, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35151,12 +35057,12 @@ var g = &grammar{ run: (*parser).callonExtraListElement102, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement103, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35228,12 +35134,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement120, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35277,28 +35183,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement132, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35307,9 +35213,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -35367,12 +35273,12 @@ var g = &grammar{ want: "\">\"", }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement150, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35415,28 +35321,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement162, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35445,9 +35351,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -35512,28 +35418,28 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1672, col: 35, offset: 54237}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement185, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35542,9 +35448,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -35607,10 +35513,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1690, col: 9, offset: 54742}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement206, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35619,28 +35525,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement209, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35649,9 +35555,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -35667,19 +35573,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement223, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35688,28 +35594,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement226, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35718,9 +35624,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -35739,12 +35645,12 @@ var g = &grammar{ pos: position{line: 1697, col: 9, offset: 54890}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement235, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -35771,28 +35677,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement243, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -35801,9 +35707,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -35864,10 +35770,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1587, col: 5, offset: 51226}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement263, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36034,12 +35940,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement297, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36082,28 +35988,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement309, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36112,9 +36018,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36144,10 +36050,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1637, col: 5, offset: 53188}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement322, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36188,12 +36094,12 @@ var g = &grammar{ run: (*parser).callonExtraListElement330, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement331, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36265,12 +36171,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement348, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36314,28 +36220,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement360, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36344,9 +36250,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36404,12 +36310,12 @@ var g = &grammar{ want: "\">\"", }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement378, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36452,28 +36358,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement390, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36482,9 +36388,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36549,28 +36455,28 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1672, col: 35, offset: 54237}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement413, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36579,9 +36485,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36644,10 +36550,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1690, col: 9, offset: 54742}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement434, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36656,28 +36562,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement437, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36686,9 +36592,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36704,19 +36610,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement451, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36725,28 +36631,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement454, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36755,9 +36661,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36776,12 +36682,12 @@ var g = &grammar{ pos: position{line: 1697, col: 9, offset: 54890}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement463, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36808,28 +36714,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement471, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36838,9 +36744,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36865,36 +36771,36 @@ var g = &grammar{ name: "ListContinuation", }, &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, run: (*parser).callonExtraListElement479, expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, + pos: position{line: 2744, col: 31, offset: 89007}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, + pos: position{line: 2744, col: 36, offset: 89012}, expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, + pos: position{line: 2744, col: 37, offset: 89013}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, + pos: position{line: 2739, col: 49, offset: 88813}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonExtraListElement485, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -36904,28 +36810,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement489, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -36934,9 +36840,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -36961,19 +36867,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement505, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -36982,28 +36888,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement508, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37012,9 +36918,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -37037,10 +36943,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1546, col: 31, offset: 50013}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement519, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37049,25 +36955,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement521, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37089,10 +36995,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1587, col: 5, offset: 51226}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement530, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37259,12 +37165,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement564, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37287,10 +37193,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1637, col: 5, offset: 53188}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement571, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37331,12 +37237,12 @@ var g = &grammar{ run: (*parser).callonExtraListElement579, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement580, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37387,12 +37293,12 @@ var g = &grammar{ want: "\">\"", }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonExtraListElement592, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37453,28 +37359,28 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1672, col: 35, offset: 54237}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement610, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37483,9 +37389,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -37542,7 +37448,7 @@ var g = &grammar{ ¬Expr{ pos: position{line: 718, col: 5, offset: 22952}, expr: &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -37593,10 +37499,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement641, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37605,28 +37511,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement644, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37635,9 +37541,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -37682,10 +37588,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement660, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37694,28 +37600,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement663, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37724,9 +37630,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -37767,10 +37673,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 754, col: 52, offset: 24256}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement678, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37779,28 +37685,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement681, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37809,9 +37715,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -37856,10 +37762,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement697, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37868,28 +37774,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement700, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37898,9 +37804,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -37945,10 +37851,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement716, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -37957,28 +37863,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement719, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -37987,9 +37893,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38034,10 +37940,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement735, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38046,28 +37952,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement738, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38076,9 +37982,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38123,10 +38029,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement754, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38135,28 +38041,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement757, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38165,9 +38071,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38212,10 +38118,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement773, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38224,28 +38130,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement776, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38254,9 +38160,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38301,10 +38207,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonExtraListElement792, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38313,28 +38219,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement795, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38343,9 +38249,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38364,12 +38270,12 @@ var g = &grammar{ pos: position{line: 1522, col: 5, offset: 49381}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonExtraListElement803, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -38379,28 +38285,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonExtraListElement807, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38409,9 +38315,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38446,10 +38352,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1539, col: 13, offset: 49805}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuation7, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38458,25 +38364,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuation9, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38497,10 +38403,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1546, col: 31, offset: 50013}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuation16, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38509,25 +38415,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuation18, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38562,9 +38468,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1549, col: 5, offset: 50100}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38591,10 +38497,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1587, col: 5, offset: 51226}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement14, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38761,12 +38667,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement48, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38809,28 +38715,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement60, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -38839,9 +38745,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -38871,10 +38777,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1637, col: 5, offset: 53188}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement73, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38915,12 +38821,12 @@ var g = &grammar{ run: (*parser).callonListContinuationElement81, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement82, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -38992,12 +38898,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement99, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39041,28 +38947,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement111, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39071,9 +38977,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39131,12 +39037,12 @@ var g = &grammar{ want: "\">\"", }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement129, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39179,28 +39085,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement141, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39209,9 +39115,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39276,28 +39182,28 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1672, col: 35, offset: 54237}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement164, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39306,9 +39212,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39371,10 +39277,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1690, col: 9, offset: 54742}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement185, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39383,28 +39289,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement188, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39413,9 +39319,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39431,19 +39337,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement202, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39452,28 +39358,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement205, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39482,9 +39388,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39503,12 +39409,12 @@ var g = &grammar{ pos: position{line: 1697, col: 9, offset: 54890}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement214, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39535,28 +39441,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement222, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39565,9 +39471,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39610,19 +39516,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement240, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39631,28 +39537,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement243, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39661,9 +39567,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39730,10 +39636,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 350, col: 49, offset: 10749}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement262, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39742,28 +39648,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement265, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39772,9 +39678,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39837,10 +39743,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 352, col: 39, offset: 10870}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement283, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39849,28 +39755,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement286, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39879,9 +39785,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -39932,10 +39838,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement304, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -39944,28 +39850,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement307, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -39974,9 +39880,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40037,10 +39943,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement329, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40049,28 +39955,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement332, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40079,9 +39985,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40090,9 +39996,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40110,9 +40016,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40120,12 +40026,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement348, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40135,28 +40041,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement352, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40165,9 +40071,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40223,10 +40129,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement370, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40235,28 +40141,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement373, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40265,9 +40171,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40276,9 +40182,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40333,10 +40239,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement394, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40345,28 +40251,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement397, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40375,9 +40281,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40449,10 +40355,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement422, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40461,28 +40367,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement425, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40491,9 +40397,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40509,9 +40415,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40529,9 +40435,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40539,12 +40445,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement442, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40554,28 +40460,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement446, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40584,9 +40490,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40651,10 +40557,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement467, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40663,28 +40569,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement470, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40693,9 +40599,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40711,9 +40617,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40765,10 +40671,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 754, col: 52, offset: 24256}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement491, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40777,28 +40683,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement494, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40807,9 +40713,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40843,10 +40749,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 957, col: 40, offset: 30057}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement509, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -40855,28 +40761,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement512, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40885,9 +40791,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40907,9 +40813,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40917,12 +40823,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement526, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -40932,28 +40838,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement530, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -40962,9 +40868,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -40992,10 +40898,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 957, col: 40, offset: 30057}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement541, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41004,28 +40910,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement544, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41034,9 +40940,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41093,10 +40999,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement563, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41105,28 +41011,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement566, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41135,9 +41041,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41209,10 +41115,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement591, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41221,28 +41127,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement594, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41251,9 +41157,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41269,9 +41175,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41289,9 +41195,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41299,12 +41205,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement611, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41314,28 +41220,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement615, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41344,9 +41250,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41411,10 +41317,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement636, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41423,28 +41329,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement639, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41453,9 +41359,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41471,9 +41377,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41529,10 +41435,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement661, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41541,28 +41447,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement664, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41571,9 +41477,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41645,10 +41551,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement689, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41657,28 +41563,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement692, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41687,9 +41593,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41705,9 +41611,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41725,9 +41631,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41735,12 +41641,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement709, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -41750,28 +41656,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement713, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41780,9 +41686,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41847,10 +41753,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement734, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41859,28 +41765,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement737, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -41889,9 +41795,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41907,9 +41813,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -41965,10 +41871,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement759, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -41977,28 +41883,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement762, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42007,9 +41913,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42081,10 +41987,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement787, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42093,28 +41999,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement790, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42123,9 +42029,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42141,9 +42047,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42161,9 +42067,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42171,12 +42077,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement807, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42186,28 +42092,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement811, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42216,9 +42122,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42283,10 +42189,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement832, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42295,28 +42201,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement835, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42325,9 +42231,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42343,9 +42249,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42381,19 +42287,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement857, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42402,28 +42308,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement860, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42432,9 +42338,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42453,12 +42359,12 @@ var g = &grammar{ pos: position{line: 978, col: 5, offset: 30592}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonListContinuationElement869, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42468,28 +42374,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement873, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42498,9 +42404,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42534,19 +42440,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement892, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42555,28 +42461,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement895, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42585,9 +42491,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42606,12 +42512,12 @@ var g = &grammar{ pos: position{line: 978, col: 5, offset: 30592}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonListContinuationElement904, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42621,28 +42527,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement908, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42651,9 +42557,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42671,12 +42577,12 @@ var g = &grammar{ pos: position{line: 1795, col: 5, offset: 57981}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonListContinuationElement918, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42690,28 +42596,28 @@ var g = &grammar{ run: (*parser).callonListContinuationElement921, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement923, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42720,9 +42626,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42769,10 +42675,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 772, col: 8, offset: 24859}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement939, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42781,28 +42687,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement942, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42811,9 +42717,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42861,10 +42767,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 772, col: 8, offset: 24859}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement961, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -42873,28 +42779,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement964, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42903,9 +42809,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42914,9 +42820,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42934,9 +42840,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -42944,12 +42850,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement980, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -42959,28 +42865,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement984, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -42989,9 +42895,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43036,10 +42942,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 772, col: 8, offset: 24859}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1000, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43048,28 +42954,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1003, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43078,9 +42984,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43089,9 +42995,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43147,10 +43053,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1024, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43159,28 +43065,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1027, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43189,9 +43095,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43263,10 +43169,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1052, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43275,28 +43181,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1055, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43305,9 +43211,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43323,9 +43229,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43343,9 +43249,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43353,12 +43259,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement1072, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -43368,28 +43274,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1076, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43398,9 +43304,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43465,10 +43371,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1097, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43477,28 +43383,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1100, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43507,9 +43413,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43525,9 +43431,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43583,10 +43489,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1122, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43595,28 +43501,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1125, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43625,9 +43531,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43699,10 +43605,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1150, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43711,28 +43617,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1153, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43741,9 +43647,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43759,9 +43665,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43779,9 +43685,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43789,12 +43695,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement1170, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -43804,28 +43710,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1174, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43834,9 +43740,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43901,10 +43807,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1195, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -43913,28 +43819,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1198, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -43943,9 +43849,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -43961,9 +43867,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44019,10 +43925,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1220, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44031,28 +43937,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1223, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44061,9 +43967,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44135,10 +44041,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1248, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44147,28 +44053,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1251, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44177,9 +44083,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44195,9 +44101,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44215,9 +44121,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 805, col: 5, offset: 25998}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44225,12 +44131,12 @@ var g = &grammar{ pos: position{line: 806, col: 5, offset: 26071}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement1268, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -44240,28 +44146,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1272, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44270,9 +44176,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44337,10 +44243,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1293, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44349,28 +44255,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1296, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44379,9 +44285,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44397,9 +44303,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44410,52 +44316,52 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2927, col: 18, offset: 93976}, + pos: position{line: 2958, col: 18, offset: 94877}, run: (*parser).callonListContinuationElement1306, expr: &seqExpr{ - pos: position{line: 2927, col: 18, offset: 93976}, + pos: position{line: 2958, col: 18, offset: 94877}, exprs: []interface{}{ &choiceExpr{ - pos: position{line: 2928, col: 9, offset: 93986}, + pos: position{line: 2959, col: 9, offset: 94887}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 2928, col: 9, offset: 93986}, + pos: position{line: 2959, col: 9, offset: 94887}, val: "'''", ignoreCase: false, want: "\"'''\"", }, &litMatcher{ - pos: position{line: 2929, col: 11, offset: 94022}, + pos: position{line: 2960, col: 11, offset: 94923}, val: "***", ignoreCase: false, want: "\"***\"", }, &litMatcher{ - pos: position{line: 2929, col: 19, offset: 94030}, + pos: position{line: 2960, col: 19, offset: 94931}, val: "* * *", ignoreCase: false, want: "\"* * *\"", }, &litMatcher{ - pos: position{line: 2929, col: 29, offset: 94040}, + pos: position{line: 2960, col: 29, offset: 94941}, val: "---", ignoreCase: false, want: "\"---\"", }, &litMatcher{ - pos: position{line: 2929, col: 37, offset: 94048}, + pos: position{line: 2960, col: 37, offset: 94949}, val: "- - -", ignoreCase: false, want: "\"- - -\"", }, &litMatcher{ - pos: position{line: 2929, col: 47, offset: 94058}, + pos: position{line: 2960, col: 47, offset: 94959}, val: "___", ignoreCase: false, want: "\"___\"", }, &litMatcher{ - pos: position{line: 2929, col: 55, offset: 94066}, + pos: position{line: 2960, col: 55, offset: 94967}, val: "_ _ _", ignoreCase: false, want: "\"_ _ _\"", @@ -44463,12 +44369,12 @@ var g = &grammar{ }, }, &zeroOrMoreExpr{ - pos: position{line: 2930, col: 11, offset: 94124}, + pos: position{line: 2961, col: 11, offset: 95025}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1317, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44477,28 +44383,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1320, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44507,36 +44413,36 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1328, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44545,9 +44451,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44560,24 +44466,24 @@ var g = &grammar{ name: "ImageBlock", }, &actionExpr{ - pos: position{line: 2818, col: 5, offset: 90915}, + pos: position{line: 2849, col: 5, offset: 91816}, run: (*parser).callonListContinuationElement1336, expr: &seqExpr{ - pos: position{line: 2818, col: 5, offset: 90915}, + pos: position{line: 2849, col: 5, offset: 91816}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1340, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44586,28 +44492,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1343, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44616,20 +44522,20 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, &labeledExpr{ - pos: position{line: 2819, col: 5, offset: 90939}, + pos: position{line: 2850, col: 5, offset: 91840}, label: "lines", expr: &zeroOrMoreExpr{ - pos: position{line: 2819, col: 11, offset: 90945}, + pos: position{line: 2850, col: 11, offset: 91846}, expr: &choiceExpr{ - pos: position{line: 2819, col: 12, offset: 90946}, + pos: position{line: 2850, col: 12, offset: 91847}, alternatives: []interface{}{ &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, @@ -44640,19 +44546,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1359, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44661,28 +44567,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1362, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44691,9 +44597,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44702,32 +44608,32 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2831, col: 5, offset: 91191}, + pos: position{line: 2862, col: 5, offset: 92092}, run: (*parser).callonListContinuationElement1369, expr: &seqExpr{ - pos: position{line: 2831, col: 5, offset: 91191}, + pos: position{line: 2862, col: 5, offset: 92092}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2831, col: 5, offset: 91191}, + pos: position{line: 2862, col: 5, offset: 92092}, expr: &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1376, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44736,28 +44642,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1379, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44766,9 +44672,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44776,59 +44682,59 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, }, &labeledExpr{ - pos: position{line: 2832, col: 5, offset: 91214}, + pos: position{line: 2863, col: 5, offset: 92115}, label: "content", expr: &choiceExpr{ - pos: position{line: 2833, col: 9, offset: 91232}, + pos: position{line: 2864, col: 9, offset: 92133}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2833, col: 10, offset: 91233}, + pos: position{line: 2864, col: 10, offset: 92134}, run: (*parser).callonListContinuationElement1390, expr: &labeledExpr{ - pos: position{line: 2833, col: 10, offset: 91233}, + pos: position{line: 2864, col: 10, offset: 92134}, label: "cells", expr: &choiceExpr{ - pos: position{line: 2833, col: 17, offset: 91240}, + pos: position{line: 2864, col: 17, offset: 92141}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2841, col: 21, offset: 91436}, + pos: position{line: 2872, col: 21, offset: 92337}, run: (*parser).callonListContinuationElement1393, expr: &seqExpr{ - pos: position{line: 2841, col: 21, offset: 91436}, + pos: position{line: 2872, col: 21, offset: 92337}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2841, col: 21, offset: 91436}, + pos: position{line: 2872, col: 21, offset: 92337}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2841, col: 27, offset: 91442}, + pos: position{line: 2872, col: 27, offset: 92343}, expr: &actionExpr{ - pos: position{line: 2846, col: 5, offset: 91517}, + pos: position{line: 2877, col: 5, offset: 92418}, run: (*parser).callonListContinuationElement1397, expr: &seqExpr{ - pos: position{line: 2846, col: 5, offset: 91517}, + pos: position{line: 2877, col: 5, offset: 92418}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2846, col: 5, offset: 91517}, + pos: position{line: 2877, col: 5, offset: 92418}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2846, col: 9, offset: 91521}, + pos: position{line: 2877, col: 9, offset: 92422}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1401, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44837,21 +44743,21 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2846, col: 16, offset: 91528}, + pos: position{line: 2877, col: 16, offset: 92429}, label: "content", expr: &actionExpr{ - pos: position{line: 2852, col: 5, offset: 91727}, + pos: position{line: 2883, col: 5, offset: 92628}, run: (*parser).callonListContinuationElement1404, expr: &labeledExpr{ - pos: position{line: 2852, col: 5, offset: 91727}, + pos: position{line: 2883, col: 5, offset: 92628}, label: "content", expr: &actionExpr{ - pos: position{line: 2852, col: 14, offset: 91736}, + pos: position{line: 2883, col: 14, offset: 92637}, run: (*parser).callonListContinuationElement1406, expr: &zeroOrMoreExpr{ - pos: position{line: 2852, col: 14, offset: 91736}, + pos: position{line: 2883, col: 14, offset: 92637}, expr: &charClassMatcher{ - pos: position{line: 2852, col: 14, offset: 91736}, + pos: position{line: 2883, col: 14, offset: 92637}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -44868,28 +44774,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1410, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44898,9 +44804,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44909,40 +44815,40 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2858, col: 24, offset: 91872}, + pos: position{line: 2889, col: 24, offset: 92773}, run: (*parser).callonListContinuationElement1417, expr: &labeledExpr{ - pos: position{line: 2858, col: 24, offset: 91872}, + pos: position{line: 2889, col: 24, offset: 92773}, label: "cells", expr: &oneOrMoreExpr{ - pos: position{line: 2858, col: 30, offset: 91878}, + pos: position{line: 2889, col: 30, offset: 92779}, expr: &actionExpr{ - pos: position{line: 2863, col: 5, offset: 91954}, + pos: position{line: 2894, col: 5, offset: 92855}, run: (*parser).callonListContinuationElement1420, expr: &seqExpr{ - pos: position{line: 2863, col: 5, offset: 91954}, + pos: position{line: 2894, col: 5, offset: 92855}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2863, col: 5, offset: 91954}, + pos: position{line: 2894, col: 5, offset: 92855}, expr: &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1427, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -44951,28 +44857,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1430, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -44981,9 +44887,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -44991,16 +44897,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, }, ¬Expr{ - pos: position{line: 2864, col: 5, offset: 91977}, + pos: position{line: 2895, col: 5, offset: 92878}, expr: &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, run: (*parser).callonListContinuationElement1440, @@ -45010,19 +44916,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1446, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45031,28 +44937,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1449, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45061,9 +44967,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45073,17 +44979,17 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2865, col: 5, offset: 91992}, + pos: position{line: 2896, col: 5, offset: 92893}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2865, col: 12, offset: 91999}, + pos: position{line: 2896, col: 12, offset: 92900}, expr: &actionExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, run: (*parser).callonListContinuationElement1458, expr: &zeroOrMoreExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, expr: &charClassMatcher{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -45094,18 +45000,18 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2865, col: 31, offset: 92018}, + pos: position{line: 2896, col: 31, offset: 92919}, val: "|", ignoreCase: false, want: "\"|\"", }, &zeroOrMoreExpr{ - pos: position{line: 2865, col: 35, offset: 92022}, + pos: position{line: 2896, col: 35, offset: 92923}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1463, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45114,27 +45020,27 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 2865, col: 42, offset: 92029}, + pos: position{line: 2896, col: 42, offset: 92930}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1466, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45144,37 +45050,37 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2865, col: 51, offset: 92038}, + pos: position{line: 2896, col: 51, offset: 92939}, label: "content", expr: &zeroOrMoreExpr{ - pos: position{line: 2871, col: 5, offset: 92197}, + pos: position{line: 2902, col: 5, offset: 93098}, expr: &actionExpr{ - pos: position{line: 2872, col: 9, offset: 92207}, + pos: position{line: 2903, col: 9, offset: 93108}, run: (*parser).callonListContinuationElement1473, expr: &seqExpr{ - pos: position{line: 2872, col: 9, offset: 92207}, + pos: position{line: 2903, col: 9, offset: 93108}, exprs: []interface{}{ ¬Expr{ - pos: position{line: 2872, col: 9, offset: 92207}, + pos: position{line: 2903, col: 9, offset: 93108}, expr: &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1480, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45183,28 +45089,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1483, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45213,9 +45119,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45223,16 +45129,16 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, }, }, ¬Expr{ - pos: position{line: 2873, col: 9, offset: 92234}, + pos: position{line: 2904, col: 9, offset: 93135}, expr: &actionExpr{ pos: position{line: 671, col: 14, offset: 21401}, run: (*parser).callonListContinuationElement1493, @@ -45242,19 +45148,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1499, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45263,28 +45169,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1502, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45293,9 +45199,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45305,22 +45211,22 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 2874, col: 9, offset: 92253}, + pos: position{line: 2905, col: 9, offset: 93154}, expr: &seqExpr{ - pos: position{line: 2874, col: 11, offset: 92255}, + pos: position{line: 2905, col: 11, offset: 93156}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2874, col: 11, offset: 92255}, + pos: position{line: 2905, col: 11, offset: 93156}, label: "format", expr: &zeroOrOneExpr{ - pos: position{line: 2874, col: 18, offset: 92262}, + pos: position{line: 2905, col: 18, offset: 93163}, expr: &actionExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, run: (*parser).callonListContinuationElement1513, expr: &zeroOrMoreExpr{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, expr: &charClassMatcher{ - pos: position{line: 2882, col: 20, offset: 92463}, + pos: position{line: 2913, col: 20, offset: 93364}, val: "[^ |\\r\\n]", chars: []rune{' ', '|', '\r', '\n'}, ignoreCase: false, @@ -45331,7 +45237,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2874, col: 37, offset: 92281}, + pos: position{line: 2905, col: 37, offset: 93182}, val: "|", ignoreCase: false, want: "\"|\"", @@ -45340,15 +45246,15 @@ var g = &grammar{ }, }, &labeledExpr{ - pos: position{line: 2875, col: 9, offset: 92294}, + pos: position{line: 2906, col: 9, offset: 93195}, label: "content", expr: &actionExpr{ - pos: position{line: 2875, col: 18, offset: 92303}, + pos: position{line: 2906, col: 18, offset: 93204}, run: (*parser).callonListContinuationElement1518, expr: &zeroOrMoreExpr{ - pos: position{line: 2875, col: 18, offset: 92303}, + pos: position{line: 2906, col: 18, offset: 93204}, expr: &charClassMatcher{ - pos: position{line: 2875, col: 18, offset: 92303}, + pos: position{line: 2906, col: 18, offset: 93204}, val: "[^|\\r\\n]", chars: []rune{'|', '\r', '\n'}, ignoreCase: false, @@ -45358,30 +45264,30 @@ var g = &grammar{ }, }, &zeroOrOneExpr{ - pos: position{line: 2877, col: 12, offset: 92365}, + pos: position{line: 2908, col: 12, offset: 93266}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1523, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45390,9 +45296,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45422,19 +45328,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1536, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45443,28 +45349,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1539, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45473,9 +45379,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45494,24 +45400,24 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 2828, col: 22, offset: 91152}, + pos: position{line: 2859, col: 22, offset: 92053}, alternatives: []interface{}{ &seqExpr{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2824, col: 19, offset: 91072}, + pos: position{line: 2855, col: 19, offset: 91973}, val: "|===", ignoreCase: false, want: "\"|===\"", }, &zeroOrMoreExpr{ - pos: position{line: 2824, col: 26, offset: 91079}, + pos: position{line: 2855, col: 26, offset: 91980}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1550, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45520,28 +45426,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1553, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45550,9 +45456,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45560,9 +45466,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45571,36 +45477,36 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, run: (*parser).callonListContinuationElement1562, expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, + pos: position{line: 2744, col: 31, offset: 89007}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, + pos: position{line: 2744, col: 36, offset: 89012}, expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, + pos: position{line: 2744, col: 37, offset: 89013}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, + pos: position{line: 2739, col: 49, offset: 88813}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonListContinuationElement1568, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -45610,28 +45516,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1572, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45640,9 +45546,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45733,12 +45639,12 @@ var g = &grammar{ expr: &andExpr{ pos: position{line: 1748, col: 13, offset: 56490}, expr: &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement1600, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45776,19 +45682,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1613, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45797,28 +45703,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1616, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45827,9 +45733,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -45852,10 +45758,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1546, col: 31, offset: 50013}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1627, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -45864,25 +45770,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1629, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -45904,10 +45810,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1587, col: 5, offset: 51226}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1638, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46074,12 +45980,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement1672, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46102,10 +46008,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1637, col: 5, offset: 53188}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1679, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46146,12 +46052,12 @@ var g = &grammar{ run: (*parser).callonListContinuationElement1687, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement1688, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46202,12 +46108,12 @@ var g = &grammar{ want: "\">\"", }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonListContinuationElement1700, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46268,28 +46174,28 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1672, col: 35, offset: 54237}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1718, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46298,9 +46204,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -46357,7 +46263,7 @@ var g = &grammar{ ¬Expr{ pos: position{line: 718, col: 5, offset: 22952}, expr: &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -46408,10 +46314,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1749, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46420,28 +46326,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1752, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46450,9 +46356,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -46497,10 +46403,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1768, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46509,28 +46415,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1771, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46539,9 +46445,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -46582,10 +46488,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 754, col: 52, offset: 24256}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1786, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46594,28 +46500,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1789, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46624,9 +46530,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -46671,10 +46577,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1805, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46683,28 +46589,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1808, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46713,9 +46619,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -46760,10 +46666,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1824, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46772,28 +46678,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1827, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46802,9 +46708,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -46849,10 +46755,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1843, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46861,28 +46767,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1846, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46891,9 +46797,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -46938,10 +46844,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1862, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -46950,28 +46856,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1865, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -46980,9 +46886,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -47027,10 +46933,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1881, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47039,28 +46945,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1884, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47069,9 +46975,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -47116,10 +47022,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonListContinuationElement1900, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47128,28 +47034,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1903, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47158,9 +47064,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -47179,12 +47085,12 @@ var g = &grammar{ pos: position{line: 1522, col: 5, offset: 49381}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonListContinuationElement1911, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47194,28 +47100,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonListContinuationElement1915, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47224,9 +47130,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -47291,10 +47197,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1715, col: 66, offset: 55425}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonCallout11, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47308,25 +47214,25 @@ var g = &grammar{ pos: position{line: 1715, col: 75, offset: 55434}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonCallout15, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47335,9 +47241,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, &ruleRefExpr{ @@ -47363,7 +47269,7 @@ var g = &grammar{ &andExpr{ pos: position{line: 1755, col: 5, offset: 56639}, expr: &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47384,10 +47290,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1587, col: 5, offset: 51226}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph10, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47554,12 +47460,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonShortcutParagraph44, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47585,10 +47491,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1637, col: 5, offset: 53188}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph52, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47629,12 +47535,12 @@ var g = &grammar{ run: (*parser).callonShortcutParagraph60, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonShortcutParagraph61, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47724,12 +47630,12 @@ var g = &grammar{ expr: &andExpr{ pos: position{line: 1748, col: 13, offset: 56490}, expr: &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonShortcutParagraph83, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47760,12 +47666,12 @@ var g = &grammar{ pos: position{line: 1795, col: 5, offset: 57981}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonShortcutParagraph90, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -47779,28 +47685,28 @@ var g = &grammar{ run: (*parser).callonShortcutParagraph93, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph95, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47809,9 +47715,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -47838,9 +47744,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1768, col: 9, offset: 57263}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -47855,19 +47761,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph117, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47876,28 +47782,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph120, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -47906,9 +47812,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -47935,7 +47841,7 @@ var g = &grammar{ ¬Expr{ pos: position{line: 718, col: 5, offset: 22952}, expr: &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -47986,10 +47892,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 736, col: 8, offset: 23596}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph145, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -47998,28 +47904,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph148, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48028,9 +47934,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48075,10 +47981,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 743, col: 8, offset: 23844}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph164, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48087,28 +47993,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph167, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48117,9 +48023,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48160,10 +48066,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 754, col: 52, offset: 24256}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph182, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48172,28 +48078,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph185, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48202,9 +48108,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48249,10 +48155,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 750, col: 8, offset: 24090}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph201, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48261,28 +48167,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph204, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48291,9 +48197,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48338,10 +48244,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 765, col: 8, offset: 24628}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph220, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48350,28 +48256,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph223, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48380,9 +48286,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48427,10 +48333,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 779, col: 8, offset: 25104}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph239, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48439,28 +48345,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph242, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48469,9 +48375,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48516,10 +48422,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 786, col: 8, offset: 25356}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph258, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48528,28 +48434,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph261, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48558,9 +48464,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48605,10 +48511,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 793, col: 8, offset: 25606}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph277, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48617,28 +48523,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph280, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48647,9 +48553,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48694,10 +48600,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 800, col: 8, offset: 25852}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph296, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48706,28 +48612,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph299, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48736,9 +48642,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48767,10 +48673,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 1546, col: 31, offset: 50013}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonShortcutParagraph310, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -48779,25 +48685,25 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph312, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48815,36 +48721,36 @@ var g = &grammar{ pos: position{line: 1773, col: 15, offset: 57383}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, run: (*parser).callonShortcutParagraph319, expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, + pos: position{line: 2744, col: 31, offset: 89007}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, + pos: position{line: 2744, col: 36, offset: 89012}, expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, + pos: position{line: 2744, col: 37, offset: 89013}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, + pos: position{line: 2739, col: 49, offset: 88813}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonShortcutParagraph325, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -48854,28 +48760,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph329, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48884,9 +48790,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -48904,12 +48810,12 @@ var g = &grammar{ pos: position{line: 1795, col: 5, offset: 57981}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonShortcutParagraph339, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -48923,28 +48829,28 @@ var g = &grammar{ run: (*parser).callonShortcutParagraph342, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonShortcutParagraph344, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -48953,9 +48859,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -49061,12 +48967,12 @@ var g = &grammar{ expr: &andExpr{ pos: position{line: 1748, col: 13, offset: 56490}, expr: &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonParagraph22, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49097,12 +49003,12 @@ var g = &grammar{ pos: position{line: 1795, col: 5, offset: 57981}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonParagraph29, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -49116,28 +49022,28 @@ var g = &grammar{ run: (*parser).callonParagraph32, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonParagraph34, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49146,9 +49052,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -49171,9 +49077,9 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1784, col: 9, offset: 57689}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -49188,19 +49094,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 671, col: 14, offset: 21401}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, &zeroOrMoreExpr{ pos: position{line: 671, col: 19, offset: 21406}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonParagraph55, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49209,28 +49115,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonParagraph58, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49239,9 +49145,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -49264,36 +49170,36 @@ var g = &grammar{ pos: position{line: 1787, col: 15, offset: 57752}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, run: (*parser).callonParagraph69, expr: &seqExpr{ - pos: position{line: 2708, col: 22, offset: 87885}, + pos: position{line: 2739, col: 22, offset: 88786}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2713, col: 31, offset: 88106}, + pos: position{line: 2744, col: 31, offset: 89007}, val: "//", ignoreCase: false, want: "\"//\"", }, ¬Expr{ - pos: position{line: 2713, col: 36, offset: 88111}, + pos: position{line: 2744, col: 36, offset: 89012}, expr: &litMatcher{ - pos: position{line: 2713, col: 37, offset: 88112}, + pos: position{line: 2744, col: 37, offset: 89013}, val: "//", ignoreCase: false, want: "\"//\"", }, }, &labeledExpr{ - pos: position{line: 2708, col: 49, offset: 87912}, + pos: position{line: 2739, col: 49, offset: 88813}, label: "content", expr: &actionExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, run: (*parser).callonParagraph75, expr: &zeroOrMoreExpr{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, expr: &charClassMatcher{ - pos: position{line: 3013, col: 13, offset: 96817}, + pos: position{line: 3044, col: 13, offset: 97718}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -49303,28 +49209,28 @@ var g = &grammar{ }, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonParagraph79, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49333,9 +49239,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -49353,12 +49259,12 @@ var g = &grammar{ pos: position{line: 1795, col: 5, offset: 57981}, label: "content", expr: &actionExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, run: (*parser).callonParagraph89, expr: &oneOrMoreExpr{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, expr: &charClassMatcher{ - pos: position{line: 3017, col: 14, offset: 96884}, + pos: position{line: 3048, col: 14, offset: 97785}, val: "[^\\r\\n]", chars: []rune{'\r', '\n'}, ignoreCase: false, @@ -49372,28 +49278,28 @@ var g = &grammar{ run: (*parser).callonParagraph92, }, &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonParagraph94, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49402,9 +49308,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -49716,10 +49622,10 @@ var g = &grammar{ pos: position{line: 1888, col: 21, offset: 61019}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteBoldTextElement13, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49739,12 +49645,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonDoubleQuoteBoldTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -49756,25 +49662,25 @@ var g = &grammar{ pos: position{line: 1911, col: 11, offset: 61702}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteBoldTextElement20, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -49785,25 +49691,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1911, col: 19, offset: 61710}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteBoldTextElement26, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50173,134 +50079,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonDoubleQuoteBoldTextElement101, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteBoldTextElement105, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteBoldTextElement107, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteBoldTextElement109, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteBoldTextElement111, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteBoldTextElement113, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteBoldTextElement115, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteBoldTextElement117, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteBoldTextElement119, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteBoldTextElement121, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteBoldTextElement123, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteBoldTextElement125, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteBoldTextElement128, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50308,30 +50214,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteBoldTextElement132, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50340,9 +50246,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -50354,28 +50260,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteBoldTextElement139, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteBoldTextElement141, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50383,25 +50289,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteBoldTextElement146, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50410,9 +50316,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -50422,30 +50328,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteBoldTextElement153, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteBoldTextElement155, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteBoldTextElement157, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -50457,109 +50363,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteBoldTextElement159, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteBoldTextElement161, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteBoldTextElement163, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteBoldTextElement165, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteBoldTextElement167, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteBoldTextElement169, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteBoldTextElement171, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteBoldTextElement173, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteBoldTextElement175, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteBoldTextElement177, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteBoldTextElement180, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -50567,30 +50473,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteBoldTextElement184, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50599,9 +50505,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -50613,28 +50519,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteBoldTextElement191, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteBoldTextElement193, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50642,25 +50548,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteBoldTextElement198, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -50669,9 +50575,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -50681,53 +50587,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteBoldTextElement205, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteBoldTextElement207, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteBoldTextElement209, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteBoldTextElement211, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonDoubleQuoteBoldTextElement213, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50735,15 +50641,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -50754,13 +50660,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonDoubleQuoteBoldTextElement219, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -50768,15 +50674,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -50787,23 +50693,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteBoldTextElement225, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteBoldTextElement227, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonDoubleQuoteBoldTextElement230, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -50824,12 +50730,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteBoldTextElement236, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -50841,10 +50747,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteBoldTextElement240, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51042,12 +50948,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteBoldTextElement278, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -51069,10 +50975,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonDoubleQuoteBoldTextElement282, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -51148,12 +51054,12 @@ var g = &grammar{ want: "\"**\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonDoubleQuoteBoldTextElement297, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -51274,19 +51180,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1955, col: 5, offset: 63176}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, ¬Expr{ pos: position{line: 1955, col: 10, offset: 63181}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteBoldTextElements7, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51343,10 +51249,10 @@ var g = &grammar{ pos: position{line: 1888, col: 21, offset: 61019}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteBoldTextElement8, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51366,12 +51272,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonSingleQuoteBoldTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51383,25 +51289,25 @@ var g = &grammar{ pos: position{line: 1966, col: 7, offset: 63472}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteBoldTextElement15, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -51412,25 +51318,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 1966, col: 15, offset: 63480}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteBoldTextElement21, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -51800,134 +51706,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonSingleQuoteBoldTextElement96, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteBoldTextElement100, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteBoldTextElement102, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteBoldTextElement104, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteBoldTextElement106, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteBoldTextElement108, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteBoldTextElement110, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteBoldTextElement112, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteBoldTextElement114, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteBoldTextElement116, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteBoldTextElement118, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteBoldTextElement120, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteBoldTextElement123, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -51935,30 +51841,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteBoldTextElement127, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -51967,9 +51873,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -51981,28 +51887,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteBoldTextElement134, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteBoldTextElement136, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52010,25 +51916,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteBoldTextElement141, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52037,9 +51943,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -52049,30 +51955,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteBoldTextElement148, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteBoldTextElement150, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteBoldTextElement152, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -52084,109 +51990,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteBoldTextElement154, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteBoldTextElement156, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteBoldTextElement158, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteBoldTextElement160, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteBoldTextElement162, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteBoldTextElement164, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteBoldTextElement166, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteBoldTextElement168, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteBoldTextElement170, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteBoldTextElement172, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteBoldTextElement175, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52194,30 +52100,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteBoldTextElement179, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52226,9 +52132,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -52240,28 +52146,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteBoldTextElement186, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteBoldTextElement188, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52269,25 +52175,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteBoldTextElement193, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -52296,9 +52202,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -52308,53 +52214,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteBoldTextElement200, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteBoldTextElement202, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteBoldTextElement204, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteBoldTextElement206, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonSingleQuoteBoldTextElement208, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52362,15 +52268,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -52381,13 +52287,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonSingleQuoteBoldTextElement214, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -52395,15 +52301,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -52414,23 +52320,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteBoldTextElement220, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteBoldTextElement222, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonSingleQuoteBoldTextElement225, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -52451,12 +52357,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteBoldTextElement231, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52468,10 +52374,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteBoldTextElement235, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -52669,12 +52575,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteBoldTextElement273, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -52696,10 +52602,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonSingleQuoteBoldTextElement277, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -52775,12 +52681,12 @@ var g = &grammar{ want: "\"*\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonSingleQuoteBoldTextElement292, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53170,10 +53076,10 @@ var g = &grammar{ pos: position{line: 2030, col: 17, offset: 65708}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteItalicTextElement13, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53193,12 +53099,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonDoubleQuoteItalicTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53210,25 +53116,25 @@ var g = &grammar{ pos: position{line: 2053, col: 11, offset: 66465}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteItalicTextElement20, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53239,25 +53145,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2053, col: 19, offset: 66473}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteItalicTextElement26, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53627,134 +53533,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonDoubleQuoteItalicTextElement101, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteItalicTextElement105, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteItalicTextElement107, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteItalicTextElement109, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteItalicTextElement111, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteItalicTextElement113, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteItalicTextElement115, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteItalicTextElement117, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteItalicTextElement119, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteItalicTextElement121, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteItalicTextElement123, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteItalicTextElement125, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteItalicTextElement128, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -53762,30 +53668,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteItalicTextElement132, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53794,9 +53700,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -53808,28 +53714,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteItalicTextElement139, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteItalicTextElement141, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -53837,25 +53743,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteItalicTextElement146, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -53864,9 +53770,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -53876,30 +53782,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteItalicTextElement153, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteItalicTextElement155, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteItalicTextElement157, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -53911,109 +53817,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteItalicTextElement159, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteItalicTextElement161, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteItalicTextElement163, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteItalicTextElement165, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteItalicTextElement167, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteItalicTextElement169, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteItalicTextElement171, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteItalicTextElement173, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteItalicTextElement175, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteItalicTextElement177, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteItalicTextElement180, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54021,30 +53927,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteItalicTextElement184, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54053,9 +53959,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -54067,28 +53973,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteItalicTextElement191, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteItalicTextElement193, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54096,25 +54002,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteItalicTextElement198, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54123,9 +54029,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -54135,53 +54041,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteItalicTextElement205, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteItalicTextElement207, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteItalicTextElement209, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteItalicTextElement211, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonDoubleQuoteItalicTextElement213, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54189,15 +54095,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -54208,13 +54114,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonDoubleQuoteItalicTextElement219, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54222,15 +54128,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -54241,23 +54147,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteItalicTextElement225, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteItalicTextElement227, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonDoubleQuoteItalicTextElement230, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -54278,12 +54184,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteItalicTextElement236, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -54295,10 +54201,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteItalicTextElement240, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54496,12 +54402,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteItalicTextElement278, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -54523,10 +54429,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonDoubleQuoteItalicTextElement282, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -54602,12 +54508,12 @@ var g = &grammar{ want: "\"__\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonDoubleQuoteItalicTextElement297, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -54780,19 +54686,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2109, col: 5, offset: 68211}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, ¬Expr{ pos: position{line: 2109, col: 10, offset: 68216}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteItalicTextElements7, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54848,10 +54754,10 @@ var g = &grammar{ pos: position{line: 2030, col: 17, offset: 65708}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteItalicTextElement8, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54871,12 +54777,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonSingleQuoteItalicTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -54888,25 +54794,25 @@ var g = &grammar{ pos: position{line: 2120, col: 7, offset: 68512}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteItalicTextElement15, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -54917,25 +54823,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2120, col: 15, offset: 68520}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteItalicTextElement21, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55305,134 +55211,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonSingleQuoteItalicTextElement96, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteItalicTextElement100, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteItalicTextElement102, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteItalicTextElement104, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteItalicTextElement106, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteItalicTextElement108, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteItalicTextElement110, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteItalicTextElement112, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteItalicTextElement114, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteItalicTextElement116, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteItalicTextElement118, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteItalicTextElement120, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteItalicTextElement123, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55440,30 +55346,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteItalicTextElement127, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55472,9 +55378,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -55486,28 +55392,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteItalicTextElement134, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteItalicTextElement136, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55515,25 +55421,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteItalicTextElement141, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55542,9 +55448,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -55554,30 +55460,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteItalicTextElement148, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteItalicTextElement150, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteItalicTextElement152, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -55589,109 +55495,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteItalicTextElement154, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteItalicTextElement156, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteItalicTextElement158, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteItalicTextElement160, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteItalicTextElement162, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteItalicTextElement164, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteItalicTextElement166, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteItalicTextElement168, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteItalicTextElement170, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteItalicTextElement172, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteItalicTextElement175, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -55699,30 +55605,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteItalicTextElement179, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55731,9 +55637,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -55745,28 +55651,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteItalicTextElement186, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteItalicTextElement188, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55774,25 +55680,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteItalicTextElement193, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -55801,9 +55707,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -55813,53 +55719,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteItalicTextElement200, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteItalicTextElement202, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteItalicTextElement204, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteItalicTextElement206, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonSingleQuoteItalicTextElement208, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55867,15 +55773,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -55886,13 +55792,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonSingleQuoteItalicTextElement214, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -55900,15 +55806,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -55919,23 +55825,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteItalicTextElement220, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteItalicTextElement222, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonSingleQuoteItalicTextElement225, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -55956,12 +55862,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteItalicTextElement231, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -55973,10 +55879,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteItalicTextElement235, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56174,12 +56080,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteItalicTextElement273, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -56201,10 +56107,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonSingleQuoteItalicTextElement277, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -56280,12 +56186,12 @@ var g = &grammar{ want: "\"_\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonSingleQuoteItalicTextElement292, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -56675,10 +56581,10 @@ var g = &grammar{ pos: position{line: 2182, col: 17, offset: 70880}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMonospaceTextElement13, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56698,12 +56604,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonDoubleQuoteMonospaceTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -56715,25 +56621,25 @@ var g = &grammar{ pos: position{line: 2205, col: 11, offset: 71669}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMonospaceTextElement20, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -56744,25 +56650,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2205, col: 19, offset: 71677}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMonospaceTextElement26, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57132,134 +57038,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonDoubleQuoteMonospaceTextElement101, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteMonospaceTextElement105, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteMonospaceTextElement107, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteMonospaceTextElement109, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteMonospaceTextElement111, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteMonospaceTextElement113, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteMonospaceTextElement115, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteMonospaceTextElement117, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteMonospaceTextElement119, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteMonospaceTextElement121, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMonospaceTextElement123, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMonospaceTextElement125, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMonospaceTextElement128, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57267,30 +57173,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMonospaceTextElement132, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57299,9 +57205,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -57313,28 +57219,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMonospaceTextElement139, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMonospaceTextElement141, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57342,25 +57248,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMonospaceTextElement146, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57369,9 +57275,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -57381,30 +57287,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteMonospaceTextElement153, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteMonospaceTextElement155, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteMonospaceTextElement157, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -57416,109 +57322,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteMonospaceTextElement159, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteMonospaceTextElement161, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteMonospaceTextElement163, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteMonospaceTextElement165, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteMonospaceTextElement167, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteMonospaceTextElement169, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteMonospaceTextElement171, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteMonospaceTextElement173, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMonospaceTextElement175, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMonospaceTextElement177, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMonospaceTextElement180, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -57526,30 +57432,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMonospaceTextElement184, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57558,9 +57464,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -57572,28 +57478,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMonospaceTextElement191, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMonospaceTextElement193, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57601,25 +57507,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMonospaceTextElement198, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -57628,9 +57534,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -57640,53 +57546,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteMonospaceTextElement205, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteMonospaceTextElement207, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteMonospaceTextElement209, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteMonospaceTextElement211, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonDoubleQuoteMonospaceTextElement213, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57694,15 +57600,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -57713,13 +57619,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonDoubleQuoteMonospaceTextElement219, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -57727,15 +57633,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -57746,23 +57652,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteMonospaceTextElement225, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteMonospaceTextElement227, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonDoubleQuoteMonospaceTextElement230, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -57783,12 +57689,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteMonospaceTextElement236, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -57800,10 +57706,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMonospaceTextElement240, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58001,12 +57907,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteMonospaceTextElement278, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -58028,10 +57934,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonDoubleQuoteMonospaceTextElement282, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -58045,7 +57951,7 @@ var g = &grammar{ }, }, &litMatcher{ - pos: position{line: 2744, col: 18, offset: 89075}, + pos: position{line: 2775, col: 18, offset: 89976}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -58113,12 +58019,12 @@ var g = &grammar{ want: "\"``\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonDoubleQuoteMonospaceTextElement298, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58291,19 +58197,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2265, col: 5, offset: 73632}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, ¬Expr{ pos: position{line: 2265, col: 10, offset: 73637}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMonospaceTextElements7, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58337,15 +58243,15 @@ var g = &grammar{ pos: position{line: 2274, col: 5, offset: 73906}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, run: (*parser).callonSingleQuoteMonospaceTextElement2, expr: &seqExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, expr: &charClassMatcher{ - pos: position{line: 2984, col: 5, offset: 95960}, + pos: position{line: 3015, col: 5, offset: 96861}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58354,21 +58260,21 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2984, col: 15, offset: 95970}, + pos: position{line: 3015, col: 15, offset: 96871}, expr: &choiceExpr{ - pos: position{line: 2984, col: 17, offset: 95972}, + pos: position{line: 3015, col: 17, offset: 96873}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2984, col: 17, offset: 95972}, + pos: position{line: 3015, col: 17, offset: 96873}, val: "[\\r\\n ,]]", chars: []rune{'\r', '\n', ' ', ',', ']'}, ignoreCase: false, inverted: false, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -58378,15 +58284,15 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, run: (*parser).callonSingleQuoteMonospaceTextElement11, expr: &seqExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, exprs: []interface{}{ &oneOrMoreExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, expr: &charClassMatcher{ - pos: position{line: 2986, col: 9, offset: 96054}, + pos: position{line: 3017, col: 9, offset: 96955}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58395,21 +58301,21 @@ var g = &grammar{ }, }, &oneOrMoreExpr{ - pos: position{line: 2986, col: 19, offset: 96064}, + pos: position{line: 3017, col: 19, offset: 96965}, expr: &seqExpr{ - pos: position{line: 2986, col: 20, offset: 96065}, + pos: position{line: 3017, col: 20, offset: 96966}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2986, col: 20, offset: 96065}, + pos: position{line: 3017, col: 20, offset: 96966}, val: "[=*_`]", chars: []rune{'=', '*', '_', '`'}, ignoreCase: false, inverted: false, }, &oneOrMoreExpr{ - pos: position{line: 2986, col: 27, offset: 96072}, + pos: position{line: 3017, col: 27, offset: 96973}, expr: &charClassMatcher{ - pos: position{line: 2986, col: 27, offset: 96072}, + pos: position{line: 3017, col: 27, offset: 96973}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -58424,12 +58330,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonSingleQuoteMonospaceTextElement20, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58441,25 +58347,25 @@ var g = &grammar{ pos: position{line: 2276, col: 7, offset: 73931}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMonospaceTextElement24, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58470,25 +58376,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2276, col: 15, offset: 73939}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMonospaceTextElement30, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -58858,134 +58764,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonSingleQuoteMonospaceTextElement105, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteMonospaceTextElement109, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteMonospaceTextElement111, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteMonospaceTextElement113, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteMonospaceTextElement115, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteMonospaceTextElement117, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteMonospaceTextElement119, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteMonospaceTextElement121, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteMonospaceTextElement123, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteMonospaceTextElement125, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMonospaceTextElement127, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMonospaceTextElement129, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMonospaceTextElement132, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -58993,30 +58899,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMonospaceTextElement136, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -59025,9 +58931,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -59039,28 +58945,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMonospaceTextElement143, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMonospaceTextElement145, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59068,25 +58974,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMonospaceTextElement150, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -59095,9 +59001,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -59107,30 +59013,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteMonospaceTextElement157, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteMonospaceTextElement159, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteMonospaceTextElement161, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -59142,109 +59048,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteMonospaceTextElement163, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteMonospaceTextElement165, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteMonospaceTextElement167, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteMonospaceTextElement169, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteMonospaceTextElement171, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteMonospaceTextElement173, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteMonospaceTextElement175, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteMonospaceTextElement177, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMonospaceTextElement179, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMonospaceTextElement181, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMonospaceTextElement184, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -59252,30 +59158,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMonospaceTextElement188, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -59284,9 +59190,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -59298,28 +59204,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMonospaceTextElement195, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMonospaceTextElement197, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59327,25 +59233,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMonospaceTextElement202, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -59354,9 +59260,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -59366,53 +59272,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteMonospaceTextElement209, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteMonospaceTextElement211, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteMonospaceTextElement213, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteMonospaceTextElement215, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonSingleQuoteMonospaceTextElement217, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59420,15 +59326,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -59439,13 +59345,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonSingleQuoteMonospaceTextElement223, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -59453,15 +59359,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -59472,23 +59378,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteMonospaceTextElement229, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteMonospaceTextElement231, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonSingleQuoteMonospaceTextElement234, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -59509,12 +59415,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteMonospaceTextElement240, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -59526,10 +59432,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMonospaceTextElement244, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -59727,12 +59633,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteMonospaceTextElement282, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -59754,10 +59660,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonSingleQuoteMonospaceTextElement286, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -59775,7 +59681,7 @@ var g = &grammar{ name: "QuotedTextInSingleQuoteMonospaceText", }, &litMatcher{ - pos: position{line: 2744, col: 18, offset: 89075}, + pos: position{line: 2775, col: 18, offset: 89976}, val: "`'", ignoreCase: false, want: "\"`'\"", @@ -59842,12 +59748,12 @@ var g = &grammar{ want: "\"`\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonSingleQuoteMonospaceTextElement303, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -60240,10 +60146,10 @@ var g = &grammar{ pos: position{line: 2340, col: 21, offset: 76274}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMarkedTextElement13, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -60263,12 +60169,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonDoubleQuoteMarkedTextElement16, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -60280,25 +60186,25 @@ var g = &grammar{ pos: position{line: 2363, col: 11, offset: 77023}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMarkedTextElement20, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -60309,25 +60215,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2363, col: 19, offset: 77031}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMarkedTextElement26, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -60697,134 +60603,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonDoubleQuoteMarkedTextElement101, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteMarkedTextElement105, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteMarkedTextElement107, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteMarkedTextElement109, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteMarkedTextElement111, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteMarkedTextElement113, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteMarkedTextElement115, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteMarkedTextElement117, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteMarkedTextElement119, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteMarkedTextElement121, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMarkedTextElement123, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMarkedTextElement125, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMarkedTextElement128, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -60832,30 +60738,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMarkedTextElement132, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -60864,9 +60770,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -60878,28 +60784,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMarkedTextElement139, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMarkedTextElement141, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -60907,25 +60813,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMarkedTextElement146, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -60934,9 +60840,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -60946,30 +60852,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteMarkedTextElement153, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteMarkedTextElement155, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteMarkedTextElement157, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -60981,109 +60887,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonDoubleQuoteMarkedTextElement159, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonDoubleQuoteMarkedTextElement161, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonDoubleQuoteMarkedTextElement163, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonDoubleQuoteMarkedTextElement165, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonDoubleQuoteMarkedTextElement167, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonDoubleQuoteMarkedTextElement169, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonDoubleQuoteMarkedTextElement171, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonDoubleQuoteMarkedTextElement173, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMarkedTextElement175, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonDoubleQuoteMarkedTextElement177, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMarkedTextElement180, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -61091,30 +60997,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMarkedTextElement184, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -61123,9 +61029,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -61137,28 +61043,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMarkedTextElement191, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonDoubleQuoteMarkedTextElement193, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -61166,25 +61072,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonDoubleQuoteMarkedTextElement198, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -61193,9 +61099,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -61205,53 +61111,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonDoubleQuoteMarkedTextElement205, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonDoubleQuoteMarkedTextElement207, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonDoubleQuoteMarkedTextElement209, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonDoubleQuoteMarkedTextElement211, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonDoubleQuoteMarkedTextElement213, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -61259,15 +61165,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -61278,13 +61184,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonDoubleQuoteMarkedTextElement219, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -61292,15 +61198,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -61311,23 +61217,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteMarkedTextElement225, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonDoubleQuoteMarkedTextElement227, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonDoubleQuoteMarkedTextElement230, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -61348,12 +61254,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteMarkedTextElement236, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -61365,10 +61271,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonDoubleQuoteMarkedTextElement240, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -61566,12 +61472,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonDoubleQuoteMarkedTextElement278, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -61593,10 +61499,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonDoubleQuoteMarkedTextElement282, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -61672,12 +61578,12 @@ var g = &grammar{ want: "\"##\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonDoubleQuoteMarkedTextElement297, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -61850,19 +61756,19 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2421, col: 5, offset: 78804}, expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, ¬Expr{ pos: position{line: 2421, col: 10, offset: 78809}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMarkedTextElements7, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -61919,10 +61825,10 @@ var g = &grammar{ pos: position{line: 2340, col: 21, offset: 76274}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMarkedTextElement8, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -61942,12 +61848,12 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, run: (*parser).callonSingleQuoteMarkedTextElement11, expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, + pos: position{line: 3100, col: 11, offset: 99304}, expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, + pos: position{line: 3100, col: 12, offset: 99305}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -61959,25 +61865,25 @@ var g = &grammar{ pos: position{line: 2432, col: 7, offset: 79106}, exprs: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMarkedTextElement15, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -61988,25 +61894,25 @@ var g = &grammar{ ¬Expr{ pos: position{line: 2432, col: 15, offset: 79114}, expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMarkedTextElement21, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -62376,134 +62282,134 @@ var g = &grammar{ name: "InlineMacro", }, &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, run: (*parser).callonSingleQuoteMarkedTextElement96, expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, + pos: position{line: 2753, col: 5, offset: 89277}, val: "\\", ignoreCase: false, want: "\"\\\\\"", }, &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteMarkedTextElement100, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteMarkedTextElement102, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteMarkedTextElement104, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteMarkedTextElement106, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteMarkedTextElement108, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteMarkedTextElement110, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteMarkedTextElement112, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteMarkedTextElement114, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteMarkedTextElement116, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMarkedTextElement118, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMarkedTextElement120, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMarkedTextElement123, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -62511,30 +62417,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMarkedTextElement127, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -62543,9 +62449,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -62557,28 +62463,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMarkedTextElement134, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMarkedTextElement136, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -62586,25 +62492,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMarkedTextElement141, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -62613,9 +62519,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -62625,30 +62531,30 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteMarkedTextElement148, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteMarkedTextElement150, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteMarkedTextElement152, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", @@ -62660,109 +62566,109 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, run: (*parser).callonSingleQuoteMarkedTextElement154, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, run: (*parser).callonSingleQuoteMarkedTextElement156, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, run: (*parser).callonSingleQuoteMarkedTextElement158, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, run: (*parser).callonSingleQuoteMarkedTextElement160, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, run: (*parser).callonSingleQuoteMarkedTextElement162, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, run: (*parser).callonSingleQuoteMarkedTextElement164, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, run: (*parser).callonSingleQuoteMarkedTextElement166, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, run: (*parser).callonSingleQuoteMarkedTextElement168, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMarkedTextElement170, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, run: (*parser).callonSingleQuoteMarkedTextElement172, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMarkedTextElement175, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -62770,30 +62676,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMarkedTextElement179, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -62802,9 +62708,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -62816,28 +62722,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMarkedTextElement186, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, run: (*parser).callonSingleQuoteMarkedTextElement188, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -62845,25 +62751,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, + pos: position{line: 3105, col: 12, offset: 99421}, run: (*parser).callonSingleQuoteMarkedTextElement193, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -62872,9 +62778,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -62884,53 +62790,53 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, run: (*parser).callonSingleQuoteMarkedTextElement200, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, + pos: position{line: 2812, col: 21, offset: 90730}, val: "->", ignoreCase: false, want: "\"->\"", }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, run: (*parser).callonSingleQuoteMarkedTextElement202, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, run: (*parser).callonSingleQuoteMarkedTextElement204, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, run: (*parser).callonSingleQuoteMarkedTextElement206, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, run: (*parser).callonSingleQuoteMarkedTextElement208, expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, + pos: position{line: 2835, col: 5, offset: 91249}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -62938,15 +62844,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, + pos: position{line: 2835, col: 14, offset: 91258}, val: "\\'", ignoreCase: false, want: "\"\\\\'\"", }, &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, + pos: position{line: 2835, col: 20, offset: 91264}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -62957,13 +62863,13 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, run: (*parser).callonSingleQuoteMarkedTextElement214, expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, + pos: position{line: 2841, col: 5, offset: 91495}, exprs: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -62971,15 +62877,15 @@ var g = &grammar{ inverted: false, }, &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, + pos: position{line: 2841, col: 14, offset: 91504}, val: "'", ignoreCase: false, want: "\"'\"", }, &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, + pos: position{line: 2841, col: 18, offset: 91508}, expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, + pos: position{line: 2841, col: 19, offset: 91509}, val: "[\\pL]", classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, @@ -62990,23 +62896,23 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteMarkedTextElement220, expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, + pos: position{line: 2722, col: 5, offset: 88148}, run: (*parser).callonSingleQuoteMarkedTextElement222, }, &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, + pos: position{line: 2725, col: 5, offset: 88224}, label: "element", expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + pos: position{line: 2727, col: 9, offset: 88322}, run: (*parser).callonSingleQuoteMarkedTextElement225, expr: &choiceExpr{ pos: position{line: 680, col: 27, offset: 21754}, @@ -63027,12 +62933,12 @@ var g = &grammar{ pos: position{line: 680, col: 32, offset: 21759}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteMarkedTextElement231, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -63044,10 +62950,10 @@ var g = &grammar{ &zeroOrMoreExpr{ pos: position{line: 680, col: 40, offset: 21767}, expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, + pos: position{line: 3096, col: 10, offset: 99237}, run: (*parser).callonSingleQuoteMarkedTextElement235, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -63245,12 +63151,12 @@ var g = &grammar{ pos: position{line: 682, col: 14, offset: 21884}, label: "id", expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, run: (*parser).callonSingleQuoteMarkedTextElement273, expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, + pos: position{line: 3081, col: 7, offset: 98889}, val: "[^[]<>,]", chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, @@ -63272,10 +63178,10 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, + pos: position{line: 2730, col: 11, offset: 88426}, run: (*parser).callonSingleQuoteMarkedTextElement277, expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, + pos: position{line: 2730, col: 12, offset: 88427}, val: "[<>&]", chars: []rune{'<', '>', '&'}, ignoreCase: false, @@ -63351,12 +63257,12 @@ var g = &grammar{ want: "\"#\"", }, &actionExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, run: (*parser).callonSingleQuoteMarkedTextElement292, expr: &oneOrMoreExpr{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, expr: &charClassMatcher{ - pos: position{line: 2976, col: 14, offset: 95579}, + pos: position{line: 3007, col: 14, offset: 96480}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -63859,772 +63765,982 @@ var g = &grammar{ }, }, { - name: "Substitutions", - pos: position{line: 2571, col: 1, offset: 83952}, + name: "Section", + pos: position{line: 2545, col: 1, offset: 83102}, expr: &actionExpr{ - pos: position{line: 2572, col: 5, offset: 84006}, - run: (*parser).callonSubstitutions1, + pos: position{line: 2546, col: 5, offset: 83118}, + run: (*parser).callonSection1, + expr: &seqExpr{ + pos: position{line: 2546, col: 5, offset: 83118}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2546, col: 5, offset: 83118}, + run: (*parser).callonSection3, + }, + &labeledExpr{ + pos: position{line: 2549, col: 5, offset: 83181}, + label: "level", + expr: &actionExpr{ + pos: position{line: 2549, col: 12, offset: 83188}, + run: (*parser).callonSection5, + expr: &oneOrMoreExpr{ + pos: position{line: 2549, col: 12, offset: 83188}, + expr: &litMatcher{ + pos: position{line: 2549, col: 13, offset: 83189}, + val: "=", + ignoreCase: false, + want: "\"=\"", + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2553, col: 5, offset: 83297}, + run: (*parser).callonSection8, + }, + &actionExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + run: (*parser).callonSection9, + expr: &oneOrMoreExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + expr: &charClassMatcher{ + pos: position{line: 3100, col: 12, offset: 99305}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2557, col: 12, offset: 83456}, + label: "title", + expr: &ruleRefExpr{ + pos: position{line: 2557, col: 19, offset: 83463}, + name: "SectionTitle", + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSection15, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "SectionTitle", + pos: position{line: 2566, col: 1, offset: 83770}, + expr: &actionExpr{ + pos: position{line: 2567, col: 5, offset: 83791}, + run: (*parser).callonSectionTitle1, expr: &seqExpr{ - pos: position{line: 2572, col: 5, offset: 84006}, + pos: position{line: 2567, col: 5, offset: 83791}, exprs: []interface{}{ + &stateCodeExpr{ + pos: position{line: 2567, col: 5, offset: 83791}, + run: (*parser).callonSectionTitle3, + }, &labeledExpr{ - pos: position{line: 2572, col: 5, offset: 84006}, + pos: position{line: 2572, col: 5, offset: 83917}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2572, col: 14, offset: 84015}, - expr: &actionExpr{ - pos: position{line: 2573, col: 9, offset: 84025}, - run: (*parser).callonSubstitutions5, - expr: &seqExpr{ - pos: position{line: 2573, col: 9, offset: 84025}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2573, col: 9, offset: 84025}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + pos: position{line: 2572, col: 14, offset: 83926}, + expr: &ruleRefExpr{ + pos: position{line: 2572, col: 15, offset: 83927}, + name: "SectionTitleElement", + }, + }, + }, + }, + }, + }, + }, + { + name: "SectionTitleElement", + pos: position{line: 2576, col: 1, offset: 84008}, + expr: &actionExpr{ + pos: position{line: 2577, col: 5, offset: 84035}, + run: (*parser).callonSectionTitleElement1, + expr: &seqExpr{ + pos: position{line: 2577, col: 5, offset: 84035}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2577, col: 5, offset: 84035}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement5, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2578, col: 5, offset: 84044}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2579, col: 9, offset: 84062}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + run: (*parser).callonSectionTitleElement14, + expr: &seqExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + expr: &charClassMatcher{ + pos: position{line: 3015, col: 5, offset: 96861}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3015, col: 15, offset: 96871}, + expr: &choiceExpr{ + pos: position{line: 3015, col: 17, offset: 96873}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3015, col: 17, offset: 96873}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, }, }, }, - &labeledExpr{ - pos: position{line: 2574, col: 9, offset: 84038}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2575, col: 13, offset: 84060}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, - run: (*parser).callonSubstitutions12, - expr: &seqExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2991, col: 5, offset: 96178}, - expr: &charClassMatcher{ - pos: position{line: 2991, col: 5, offset: 96178}, - val: "[,;!?0-9\\pL]", - chars: []rune{',', ';', '!', '?'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &choiceExpr{ - pos: position{line: 2992, col: 6, offset: 96228}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonSubstitutions17, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2992, col: 14, offset: 96236}, + }, + }, + &actionExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + run: (*parser).callonSectionTitleElement23, + expr: &seqExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + expr: &charClassMatcher{ + pos: position{line: 3017, col: 9, offset: 96955}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3017, col: 19, offset: 96965}, + expr: &seqExpr{ + pos: position{line: 3017, col: 20, offset: 96966}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3017, col: 20, offset: 96966}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 3017, col: 27, offset: 96973}, + expr: &charClassMatcher{ + pos: position{line: 3017, col: 27, offset: 96973}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2580, col: 12, offset: 84078}, + run: (*parser).callonSectionTitleElement32, + expr: &seqExpr{ + pos: position{line: 2580, col: 12, offset: 84078}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2580, col: 12, offset: 84078}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement35, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2580, col: 19, offset: 84085}, + label: "id", + expr: &actionExpr{ + pos: position{line: 394, col: 5, offset: 12146}, + run: (*parser).callonSectionTitleElement38, + expr: &seqExpr{ + pos: position{line: 394, col: 5, offset: 12146}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 394, col: 5, offset: 12146}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 395, col: 5, offset: 12156}, + label: "id", + expr: &actionExpr{ + pos: position{line: 396, col: 9, offset: 12169}, + run: (*parser).callonSectionTitleElement42, + expr: &labeledExpr{ + pos: position{line: 396, col: 9, offset: 12169}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 396, col: 18, offset: 12178}, expr: &choiceExpr{ - pos: position{line: 2992, col: 16, offset: 96238}, + pos: position{line: 397, col: 13, offset: 12192}, alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2992, col: 16, offset: 96238}, - val: "[.�]", - chars: []rune{'.', '�'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 397, col: 14, offset: 12193}, + run: (*parser).callonSectionTitleElement46, + expr: &oneOrMoreExpr{ + pos: position{line: 397, col: 14, offset: 12193}, + expr: &charClassMatcher{ + pos: position{line: 397, col: 14, offset: 12193}, + val: "[^=\\r\\n�{]]", + chars: []rune{'=', '\r', '\n', '�', '{', ']'}, + ignoreCase: false, + inverted: true, + }, + }, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions22, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ + pos: position{line: 1222, col: 23, offset: 37795}, + run: (*parser).callonSectionTitleElement49, + expr: &seqExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", ignoreCase: false, - want: "\"\\n\"", + want: "\"�\"", }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", + &labeledExpr{ + pos: position{line: 1222, col: 51, offset: 37823}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + run: (*parser).callonSectionTitleElement53, + expr: &oneOrMoreExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + expr: &charClassMatcher{ + pos: position{line: 1222, col: 56, offset: 37828}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", ignoreCase: false, - want: "\"\\r\"", + want: "\"�\"", }, }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonSubstitutions29, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions31, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - run: (*parser).callonSubstitutions36, - expr: &seqExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1222, col: 51, offset: 37823}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - run: (*parser).callonSubstitutions40, - expr: &oneOrMoreExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - expr: &charClassMatcher{ - pos: position{line: 1222, col: 56, offset: 37828}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1230, col: 5, offset: 38241}, - run: (*parser).callonSubstitutions44, - expr: &seqExpr{ - pos: position{line: 1230, col: 5, offset: 38241}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 1230, col: 5, offset: 38241}, - run: (*parser).callonSubstitutions46, - }, - &litMatcher{ - pos: position{line: 1233, col: 5, offset: 38343}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1233, col: 9, offset: 38347}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonSubstitutions49, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 1233, col: 16, offset: 38354}, - expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions53, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2997, col: 16, offset: 96412}, - run: (*parser).callonSubstitutions60, - expr: &seqExpr{ - pos: position{line: 2997, col: 16, offset: 96412}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2997, col: 16, offset: 96412}, - label: "char", - expr: &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, - run: (*parser).callonSubstitutions63, - expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &andExpr{ - pos: position{line: 2997, col: 44, offset: 96440}, - expr: &choiceExpr{ - pos: position{line: 2997, col: 46, offset: 96442}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonSubstitutions67, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions69, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2581, col: 15, offset: 84299}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 2582, col: 15, offset: 84319}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2583, col: 15, offset: 84351}, - name: "InlineMacro", - }, - &ruleRefExpr{ - pos: position{line: 2584, col: 15, offset: 84440}, - name: "Callout", - }, - &actionExpr{ - pos: position{line: 2680, col: 5, offset: 87021}, - run: (*parser).callonSubstitutions80, - expr: &seqExpr{ - pos: position{line: 2680, col: 5, offset: 87021}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2680, col: 5, offset: 87021}, - run: (*parser).callonSubstitutions82, - }, - &labeledExpr{ - pos: position{line: 2683, col: 5, offset: 87092}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - run: (*parser).callonSubstitutions85, - expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonSubstitutions89, - expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonSubstitutions91, - expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonSubstitutions93, - expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonSubstitutions95, - expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonSubstitutions97, - expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonSubstitutions99, - expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonSubstitutions101, - expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonSubstitutions103, - expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonSubstitutions105, - expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, + &actionExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonSectionTitleElement57, + expr: &seqExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonSectionTitleElement59, }, - &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonSubstitutions107, - expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonSubstitutions109, - }, - &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonSubstitutions112, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &labeledExpr{ + pos: position{line: 633, col: 5, offset: 20090}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 633, col: 14, offset: 20099}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + run: (*parser).callonSectionTitleElement62, + expr: &seqExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 25, offset: 20703}, + val: "{counter:", ignoreCase: false, - inverted: false, + want: "\"{counter:\"", }, - }, - &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, - expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions116, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", + &labeledExpr{ + pos: position{line: 652, col: 37, offset: 20715}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement66, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"\\n\"", + inverted: false, }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 652, col: 56, offset: 20734}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 652, col: 62, offset: 20740}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonSectionTitleElement73, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", ignoreCase: false, - want: "\"\\r\\n\"", + want: "\":\"", }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonSectionTitleElement78, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonSectionTitleElement80, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 78, offset: 20756}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + run: (*parser).callonSectionTitleElement84, + expr: &seqExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 25, offset: 20874}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 38, offset: 20887}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement88, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"\\r\"", + inverted: false, }, }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + }, + }, + &labeledExpr{ + pos: position{line: 656, col: 57, offset: 20906}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 656, col: 63, offset: 20912}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonSectionTitleElement95, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonSectionTitleElement100, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonSectionTitleElement102, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, + &litMatcher{ + pos: position{line: 656, col: 79, offset: 20928}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonSubstitutions123, - expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonSubstitutions125, - }, - &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, - expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonSectionTitleElement106, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", ignoreCase: false, - inverted: false, + want: "\"\\\\{\"", }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions130, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement110, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonSectionTitleElement116, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement120, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, }, }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonSubstitutions137, - expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonSubstitutions139, - expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonSubstitutions141, - expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, }, }, }, + &actionExpr{ + pos: position{line: 402, col: 16, offset: 12426}, + run: (*parser).callonSectionTitleElement126, + expr: &litMatcher{ + pos: position{line: 402, col: 16, offset: 12426}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 408, col: 5, offset: 12612}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 2580, col: 40, offset: 84106}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement130, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 2580, col: 47, offset: 84113}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement134, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement141, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 2582, col: 11, offset: 84186}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2583, col: 11, offset: 84214}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2584, col: 11, offset: 84230}, + name: "Link", + }, + &actionExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + run: (*parser).callonSectionTitleElement146, + expr: &seqExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + run: (*parser).callonSectionTitleElement148, + }, + &labeledExpr{ + pos: position{line: 2714, col: 5, offset: 87993}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + run: (*parser).callonSectionTitleElement151, + expr: &seqExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2753, col: 5, offset: 89277}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2753, col: 10, offset: 89282}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonSubstitutions143, + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonSectionTitleElement155, expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, + pos: position{line: 2762, col: 5, offset: 89735}, val: "\"`", ignoreCase: false, want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonSubstitutions145, + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonSectionTitleElement157, expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, + pos: position{line: 2765, col: 7, offset: 89793}, val: "`\"", ignoreCase: false, want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonSubstitutions147, + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonSectionTitleElement159, expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, + pos: position{line: 2768, col: 7, offset: 89851}, val: "'`", ignoreCase: false, want: "\"'`\"", }, }, &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonSubstitutions149, + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonSectionTitleElement161, expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, + pos: position{line: 2771, col: 7, offset: 89907}, val: "`'", ignoreCase: false, want: "\"`'\"", }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonSubstitutions151, + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonSectionTitleElement163, expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, + pos: position{line: 2777, col: 14, offset: 90029}, val: "(C)", ignoreCase: false, want: "\"(C)\"", }, }, &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonSubstitutions153, + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonSectionTitleElement165, expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, + pos: position{line: 2781, col: 14, offset: 90095}, val: "(TM)", ignoreCase: false, want: "\"(TM)\"", }, }, &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonSubstitutions155, + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonSectionTitleElement167, expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, + pos: position{line: 2785, col: 15, offset: 90164}, val: "(R)", ignoreCase: false, want: "\"(R)\"", }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonSubstitutions157, + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonSectionTitleElement169, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, + pos: position{line: 2789, col: 13, offset: 90229}, val: "...", ignoreCase: false, want: "\"...\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonSubstitutions159, + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonSectionTitleElement171, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement173, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonSubstitutions161, + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement175, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonSubstitutions164, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement178, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -64632,30 +64748,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions168, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement182, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -64664,9 +64780,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -64678,28 +64794,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonSubstitutions175, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement189, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonSubstitutions177, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement191, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -64707,25 +64823,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonSubstitutions182, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement196, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -64734,9 +64850,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -64746,521 +64862,521 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonSubstitutions189, - expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonSubstitutions191, + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonSectionTitleElement203, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonSubstitutions193, + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonSectionTitleElement205, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonSubstitutions195, + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonSectionTitleElement207, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, - &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - run: (*parser).callonSubstitutions197, - expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, - expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, - run: (*parser).callonSubstitutions203, - expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, - expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonSubstitutions209, - expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonSubstitutions211, - }, - &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonSectionTitleElement209, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonSectionTitleElement211, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonSectionTitleElement213, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonSectionTitleElement215, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonSectionTitleElement217, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonSectionTitleElement219, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonSectionTitleElement221, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonSectionTitleElement223, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement225, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement227, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, - run: (*parser).callonSubstitutions214, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement230, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 680, col: 27, offset: 21754}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - run: (*parser).callonSubstitutions216, - expr: &seqExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - exprs: []interface{}{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement234, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 680, col: 27, offset: 21754}, - val: "<<", + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 32, offset: 21759}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonSubstitutions220, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 680, col: 40, offset: 21767}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonSubstitutions224, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 680, col: 47, offset: 21774}, - val: ",", + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 51, offset: 21778}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 690, col: 24, offset: 22179}, - expr: &choiceExpr{ - pos: position{line: 691, col: 5, offset: 22185}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - run: (*parser).callonSubstitutions230, - expr: &seqExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 691, col: 6, offset: 22186}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 691, col: 14, offset: 22194}, - expr: &charClassMatcher{ - pos: position{line: 691, col: 14, offset: 22194}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonSubstitutions235, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonSubstitutions239, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonSubstitutions245, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonSubstitutions249, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 695, col: 8, offset: 22420}, - run: (*parser).callonSubstitutions255, - expr: &litMatcher{ - pos: position{line: 695, col: 8, offset: 22420}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, - }, - }, - }, + want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 680, col: 79, offset: 21806}, - val: ">>", + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", ignoreCase: false, - want: "\">>\"", + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 682, col: 9, offset: 21879}, - run: (*parser).callonSubstitutions258, - expr: &seqExpr{ - pos: position{line: 682, col: 9, offset: 21879}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 682, col: 9, offset: 21879}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 682, col: 14, offset: 21884}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonSubstitutions262, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 682, col: 22, offset: 21892}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, - run: (*parser).callonSubstitutions266, - expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement241, + expr: &seqExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement243, + }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement248, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonSubstitutions268, - expr: &seqExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonSubstitutions270, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonSectionTitleElement255, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonSectionTitleElement257, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonSectionTitleElement259, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonSectionTitleElement261, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + run: (*parser).callonSectionTitleElement263, + expr: &seqExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2835, col: 14, offset: 91258}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2835, col: 19, offset: 91263}, + expr: &charClassMatcher{ + pos: position{line: 2835, col: 20, offset: 91264}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, - &labeledExpr{ - pos: position{line: 633, col: 5, offset: 20090}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 633, col: 14, offset: 20099}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - run: (*parser).callonSubstitutions273, - expr: &seqExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 652, col: 25, offset: 20703}, - val: "{counter:", + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + run: (*parser).callonSectionTitleElement269, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2841, col: 14, offset: 91504}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2841, col: 18, offset: 91508}, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 19, offset: 91509}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonSectionTitleElement275, + expr: &seqExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonSectionTitleElement277, + }, + &labeledExpr{ + pos: position{line: 2725, col: 5, offset: 88224}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + run: (*parser).callonSectionTitleElement280, + expr: &choiceExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + run: (*parser).callonSectionTitleElement282, + expr: &seqExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 680, col: 27, offset: 21754}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 32, offset: 21759}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonSectionTitleElement286, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 680, col: 40, offset: 21767}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement290, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"{counter:\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 652, col: 37, offset: 20715}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonSubstitutions277, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, + }, + }, + &litMatcher{ + pos: position{line: 680, col: 47, offset: 21774}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 51, offset: 21778}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 690, col: 24, offset: 22179}, + expr: &choiceExpr{ + pos: position{line: 691, col: 5, offset: 22185}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + run: (*parser).callonSectionTitleElement296, + expr: &seqExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 691, col: 6, offset: 22186}, + val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &oneOrMoreExpr{ + pos: position{line: 691, col: 14, offset: 22194}, + expr: &charClassMatcher{ + pos: position{line: 691, col: 14, offset: 22194}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 652, col: 56, offset: 20734}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 652, col: 62, offset: 20740}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonSubstitutions284, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonSectionTitleElement301, expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, + pos: position{line: 639, col: 5, offset: 20228}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", ignoreCase: false, - want: "\":\"", + want: "\"\\\\{\"", }, &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonSubstitutions289, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement305, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonSubstitutions291, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, @@ -65269,109 +65385,53 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 652, col: 78, offset: 20756}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - run: (*parser).callonSubstitutions295, - expr: &seqExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 25, offset: 20874}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 38, offset: 20887}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonSubstitutions299, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", ignoreCase: false, - inverted: false, + want: "\"}\"", }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 656, col: 57, offset: 20906}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 656, col: 63, offset: 20912}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonSubstitutions306, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonSectionTitleElement311, expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, + pos: position{line: 646, col: 5, offset: 20496}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", ignoreCase: false, - want: "\":\"", + want: "\"{\"", }, &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonSubstitutions311, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement315, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonSubstitutions313, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, @@ -65380,130 +65440,340 @@ var g = &grammar{ }, }, }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, + &actionExpr{ + pos: position{line: 695, col: 8, offset: 22420}, + run: (*parser).callonSectionTitleElement321, + expr: &litMatcher{ + pos: position{line: 695, col: 8, offset: 22420}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, - &litMatcher{ - pos: position{line: 656, col: 79, offset: 20928}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + }, + &litMatcher{ + pos: position{line: 680, col: 79, offset: 21806}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + run: (*parser).callonSectionTitleElement324, + expr: &seqExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 682, col: 9, offset: 21879}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 682, col: 14, offset: 21884}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonSectionTitleElement328, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, }, }, }, + &litMatcher{ + pos: position{line: 682, col: 22, offset: 21892}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonSubstitutions317, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonSubstitutions321, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2730, col: 11, offset: 88426}, + run: (*parser).callonSectionTitleElement332, + expr: &charClassMatcher{ + pos: position{line: 2730, col: 12, offset: 88427}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + run: (*parser).callonSectionTitleElement334, + expr: &seqExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2753, col: 5, offset: 89277}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2753, col: 10, offset: 89282}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonSectionTitleElement338, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonSectionTitleElement340, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonSectionTitleElement342, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonSectionTitleElement344, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonSectionTitleElement346, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonSectionTitleElement348, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonSectionTitleElement350, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonSectionTitleElement352, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonSectionTitleElement354, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement356, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement358, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement361, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement365, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement372, + expr: &seqExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement374, + }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonSubstitutions327, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement379, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", ignoreCase: false, - want: "\"{\"", + want: "\"\\n\"", }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonSubstitutions331, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", ignoreCase: false, - want: "\"}\"", + want: "\"\\r\"", }, }, }, }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, }, }, @@ -65511,14 +65781,33 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 3009, col: 12, offset: 96752}, - run: (*parser).callonSubstitutions337, - expr: &charClassMatcher{ - pos: position{line: 3009, col: 12, offset: 96752}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonSectionTitleElement386, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", ignoreCase: false, - inverted: true, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonSectionTitleElement388, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonSectionTitleElement390, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", }, }, }, @@ -65526,77 +65815,153 @@ var g = &grammar{ }, }, }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - { - name: "AttributeStructuredValue", - pos: position{line: 2597, col: 1, offset: 84922}, - expr: &actionExpr{ - pos: position{line: 2598, col: 5, offset: 84955}, - run: (*parser).callonAttributeStructuredValue1, - expr: &seqExpr{ - pos: position{line: 2598, col: 5, offset: 84955}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2598, col: 5, offset: 84955}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 2598, col: 14, offset: 84964}, - expr: &choiceExpr{ - pos: position{line: 2599, col: 9, offset: 84974}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2599, col: 9, offset: 84974}, - name: "InlineMacro", + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonSectionTitleElement392, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", }, - &ruleRefExpr{ - pos: position{line: 2600, col: 11, offset: 84996}, - name: "Quote", + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonSectionTitleElement394, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", }, - &actionExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, - run: (*parser).callonAttributeStructuredValue8, - expr: &seqExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, - expr: &charClassMatcher{ - pos: position{line: 2984, col: 5, offset: 95960}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonSectionTitleElement396, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonSectionTitleElement398, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonSectionTitleElement400, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonSectionTitleElement402, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonSectionTitleElement404, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonSectionTitleElement406, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement408, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSectionTitleElement410, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSectionTitleElement413, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, - }, - &andExpr{ - pos: position{line: 2984, col: 15, offset: 95970}, - expr: &choiceExpr{ - pos: position{line: 2984, col: 17, offset: 95972}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2984, col: 17, offset: 95972}, - val: "[\\r\\n ,]]", - chars: []rune{'\r', '\n', ' ', ',', ']'}, - ignoreCase: false, - inverted: false, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement417, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, }, }, }, @@ -65605,1645 +65970,788 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, - run: (*parser).callonAttributeStructuredValue17, - expr: &seqExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, - expr: &charClassMatcher{ - pos: position{line: 2986, col: 9, offset: 96054}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &oneOrMoreExpr{ - pos: position{line: 2986, col: 19, offset: 96064}, - expr: &seqExpr{ - pos: position{line: 2986, col: 20, offset: 96065}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2986, col: 20, offset: 96065}, - val: "[=*_`]", - chars: []rune{'=', '*', '_', '`'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 2986, col: 27, offset: 96072}, - expr: &charClassMatcher{ - pos: position{line: 2986, col: 27, offset: 96072}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + }, + &actionExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement424, + expr: &seqExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSectionTitleElement426, + }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSectionTitleElement431, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, }, }, }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonAttributeStructuredValue26, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonSectionTitleElement438, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonSectionTitleElement440, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonSectionTitleElement442, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonSectionTitleElement444, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + run: (*parser).callonSectionTitleElement446, + expr: &seqExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2835, col: 14, offset: 91258}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2835, col: 19, offset: 91263}, + expr: &charClassMatcher{ + pos: position{line: 2835, col: 20, offset: 91264}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, }, }, - &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonAttributeStructuredValue28, - expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonAttributeStructuredValue30, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + run: (*parser).callonSectionTitleElement452, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2841, col: 14, offset: 91504}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2841, col: 18, offset: 91508}, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 19, offset: 91509}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, - run: (*parser).callonAttributeStructuredValue33, - expr: &choiceExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - run: (*parser).callonAttributeStructuredValue35, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2588, col: 11, offset: 84354}, + name: "InlineIcon", + }, + &actionExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonSectionTitleElement459, + expr: &seqExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonSectionTitleElement461, + }, + &labeledExpr{ + pos: position{line: 633, col: 5, offset: 20090}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 633, col: 14, offset: 20099}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + run: (*parser).callonSectionTitleElement464, + expr: &seqExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 25, offset: 20703}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 37, offset: 20715}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement468, expr: &seqExpr{ - pos: position{line: 680, col: 27, offset: 21754}, + pos: position{line: 310, col: 18, offset: 9654}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 680, col: 27, offset: 21754}, - val: "<<", + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 32, offset: 21759}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonAttributeStructuredValue39, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, + inverted: false, }, &zeroOrMoreExpr{ - pos: position{line: 680, col: 40, offset: 21767}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonAttributeStructuredValue43, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, - &litMatcher{ - pos: position{line: 680, col: 47, offset: 21774}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 51, offset: 21778}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 690, col: 24, offset: 22179}, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 652, col: 56, offset: 20734}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 652, col: 62, offset: 20740}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonSectionTitleElement475, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", expr: &choiceExpr{ - pos: position{line: 691, col: 5, offset: 22185}, + pos: position{line: 660, col: 28, offset: 21046}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - run: (*parser).callonAttributeStructuredValue49, - expr: &seqExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 691, col: 6, offset: 22186}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 691, col: 14, offset: 22194}, - expr: &charClassMatcher{ - pos: position{line: 691, col: 14, offset: 22194}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonAttributeStructuredValue54, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonAttributeStructuredValue58, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonSectionTitleElement480, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, }, }, &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonAttributeStructuredValue64, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonAttributeStructuredValue68, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonSectionTitleElement482, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, - &actionExpr{ - pos: position{line: 695, col: 8, offset: 22420}, - run: (*parser).callonAttributeStructuredValue74, - expr: &litMatcher{ - pos: position{line: 695, col: 8, offset: 22420}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - }, }, }, }, }, - &litMatcher{ - pos: position{line: 680, col: 79, offset: 21806}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 682, col: 9, offset: 21879}, - run: (*parser).callonAttributeStructuredValue77, + }, + &litMatcher{ + pos: position{line: 652, col: 78, offset: 20756}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + run: (*parser).callonSectionTitleElement486, + expr: &seqExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 25, offset: 20874}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 38, offset: 20887}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement490, expr: &seqExpr{ - pos: position{line: 682, col: 9, offset: 21879}, + pos: position{line: 310, col: 18, offset: 9654}, exprs: []interface{}{ - &litMatcher{ - pos: position{line: 682, col: 9, offset: 21879}, - val: "<<", + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"<<\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 682, col: 14, offset: 21884}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonAttributeStructuredValue81, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 656, col: 57, offset: 20906}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 656, col: 63, offset: 20912}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonSectionTitleElement497, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonSectionTitleElement502, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonSectionTitleElement504, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 682, col: 22, offset: 21892}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, }, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, - run: (*parser).callonAttributeStructuredValue85, - expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, + &litMatcher{ + pos: position{line: 656, col: 79, offset: 20928}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - run: (*parser).callonAttributeStructuredValue87, - expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", - }, - &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonAttributeStructuredValue91, - expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonAttributeStructuredValue93, - expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonAttributeStructuredValue95, - expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonAttributeStructuredValue97, - expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonAttributeStructuredValue99, - expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonAttributeStructuredValue101, - expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonAttributeStructuredValue103, - expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonAttributeStructuredValue105, - expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonAttributeStructuredValue107, - expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonAttributeStructuredValue109, + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonSectionTitleElement508, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 639, col: 5, offset: 20228}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonAttributeStructuredValue111, - }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, - val: "--", + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", ignoreCase: false, - want: "\"--\"", + want: "\"\\\\{\"", }, - &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonAttributeStructuredValue114, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, - expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonAttributeStructuredValue118, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement512, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonAttributeStructuredValue125, + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonSectionTitleElement518, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 646, col: 5, offset: 20496}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonAttributeStructuredValue127, - }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, - val: "--", + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", ignoreCase: false, - want: "\"--\"", + want: "\"{\"", }, - &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, - expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonAttributeStructuredValue132, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSectionTitleElement522, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonAttributeStructuredValue139, - expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonAttributeStructuredValue141, - expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonAttributeStructuredValue143, - expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonAttributeStructuredValue145, - expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonAttributeStructuredValue147, - expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonAttributeStructuredValue149, - expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonAttributeStructuredValue151, - expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonAttributeStructuredValue153, - expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonAttributeStructuredValue155, - expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonAttributeStructuredValue157, - expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonAttributeStructuredValue159, - expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonAttributeStructuredValue161, - expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonAttributeStructuredValue163, - }, - &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonAttributeStructuredValue166, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, - expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonAttributeStructuredValue170, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, + }, + &actionExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + run: (*parser).callonSectionTitleElement528, + expr: &seqExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1222, col: 51, offset: 37823}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + run: (*parser).callonSectionTitleElement532, + expr: &oneOrMoreExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + expr: &charClassMatcher{ + pos: position{line: 1222, col: 56, offset: 37828}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, }, }, }, }, + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, }, }, - &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonAttributeStructuredValue177, - expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonAttributeStructuredValue179, - }, - &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, - expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonAttributeStructuredValue184, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, + }, + &actionExpr{ + pos: position{line: 1301, col: 5, offset: 40300}, + run: (*parser).callonSectionTitleElement536, + expr: &seqExpr{ + pos: position{line: 1301, col: 5, offset: 40300}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1301, col: 5, offset: 40300}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", + }, + &labeledExpr{ + pos: position{line: 1301, col: 14, offset: 40309}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonSectionTitleElement540, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, }, }, }, }, + &litMatcher{ + pos: position{line: 1301, col: 22, offset: 40317}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, }, }, - &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonAttributeStructuredValue191, - expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonAttributeStructuredValue193, - expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonAttributeStructuredValue195, - expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonAttributeStructuredValue197, - expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - run: (*parser).callonAttributeStructuredValue199, - expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, - expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, - run: (*parser).callonAttributeStructuredValue205, - expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, - expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, + }, + &actionExpr{ + pos: position{line: 1307, col: 5, offset: 40503}, + run: (*parser).callonSectionTitleElement544, + expr: &seqExpr{ + pos: position{line: 1307, col: 5, offset: 40503}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1307, col: 5, offset: 40503}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", }, - }, - }, - &actionExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - run: (*parser).callonAttributeStructuredValue211, - expr: &seqExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1222, col: 51, offset: 37823}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - run: (*parser).callonAttributeStructuredValue215, - expr: &oneOrMoreExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - expr: &charClassMatcher{ - pos: position{line: 1222, col: 56, offset: 37828}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, + &labeledExpr{ + pos: position{line: 1307, col: 10, offset: 40508}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonSectionTitleElement548, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, }, }, }, - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, + }, + &litMatcher{ + pos: position{line: 1307, col: 18, offset: 40516}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", }, }, }, - &actionExpr{ - pos: position{line: 3009, col: 12, offset: 96752}, - run: (*parser).callonAttributeStructuredValue219, - expr: &charClassMatcher{ - pos: position{line: 3009, col: 12, offset: 96752}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + }, + &ruleRefExpr{ + pos: position{line: 2592, col: 11, offset: 84577}, + name: "InlineFootnote", + }, + &actionExpr{ + pos: position{line: 3040, col: 12, offset: 97653}, + run: (*parser).callonSectionTitleElement553, + expr: &charClassMatcher{ + pos: position{line: 3040, col: 12, offset: 97653}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, }, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, }, }, }, }, { - name: "HeaderGroup", - pos: position{line: 2613, col: 1, offset: 85239}, + name: "Substitutions", + pos: position{line: 2602, col: 1, offset: 84853}, expr: &actionExpr{ - pos: position{line: 2614, col: 5, offset: 85259}, - run: (*parser).callonHeaderGroup1, + pos: position{line: 2603, col: 5, offset: 84907}, + run: (*parser).callonSubstitutions1, expr: &seqExpr{ - pos: position{line: 2614, col: 5, offset: 85259}, + pos: position{line: 2603, col: 5, offset: 84907}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2614, col: 5, offset: 85259}, + pos: position{line: 2603, col: 5, offset: 84907}, label: "elements", expr: &oneOrMoreExpr{ - pos: position{line: 2614, col: 14, offset: 85268}, - expr: &ruleRefExpr{ - pos: position{line: 2614, col: 15, offset: 85269}, - name: "HeaderGroupElement", - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - { - name: "HeaderGroupElement", - pos: position{line: 2618, col: 1, offset: 85353}, - expr: &actionExpr{ - pos: position{line: 2619, col: 5, offset: 85379}, - run: (*parser).callonHeaderGroupElement1, - expr: &seqExpr{ - pos: position{line: 2619, col: 5, offset: 85379}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2619, col: 5, offset: 85379}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2620, col: 5, offset: 85388}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2621, col: 9, offset: 85406}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, - run: (*parser).callonHeaderGroupElement8, - expr: &seqExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2984, col: 5, offset: 95960}, - expr: &charClassMatcher{ - pos: position{line: 2984, col: 5, offset: 95960}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 2984, col: 15, offset: 95970}, - expr: &choiceExpr{ - pos: position{line: 2984, col: 17, offset: 95972}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2984, col: 17, offset: 95972}, - val: "[\\r\\n ,]]", - chars: []rune{'\r', '\n', ' ', ',', ']'}, - ignoreCase: false, - inverted: false, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, - run: (*parser).callonHeaderGroupElement17, - expr: &seqExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2986, col: 9, offset: 96054}, - expr: &charClassMatcher{ - pos: position{line: 2986, col: 9, offset: 96054}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - &oneOrMoreExpr{ - pos: position{line: 2986, col: 19, offset: 96064}, - expr: &seqExpr{ - pos: position{line: 2986, col: 20, offset: 96065}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2986, col: 20, offset: 96065}, - val: "[=*_`]", - chars: []rune{'=', '*', '_', '`'}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 2986, col: 27, offset: 96072}, - expr: &charClassMatcher{ - pos: position{line: 2986, col: 27, offset: 96072}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + pos: position{line: 2603, col: 14, offset: 84916}, + expr: &actionExpr{ + pos: position{line: 2604, col: 9, offset: 84926}, + run: (*parser).callonSubstitutions5, + expr: &seqExpr{ + pos: position{line: 2604, col: 9, offset: 84926}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2604, col: 9, offset: 84926}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, - }, - }, - &actionExpr{ - pos: position{line: 2622, col: 12, offset: 85422}, - run: (*parser).callonHeaderGroupElement26, - expr: &seqExpr{ - pos: position{line: 2622, col: 12, offset: 85422}, - exprs: []interface{}{ - &oneOrMoreExpr{ - pos: position{line: 2622, col: 12, offset: 85422}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonHeaderGroupElement29, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2622, col: 19, offset: 85429}, - label: "id", - expr: &actionExpr{ - pos: position{line: 394, col: 5, offset: 12146}, - run: (*parser).callonHeaderGroupElement32, - expr: &seqExpr{ - pos: position{line: 394, col: 5, offset: 12146}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 394, col: 5, offset: 12146}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 395, col: 5, offset: 12156}, - label: "id", - expr: &actionExpr{ - pos: position{line: 396, col: 9, offset: 12169}, - run: (*parser).callonHeaderGroupElement36, - expr: &labeledExpr{ - pos: position{line: 396, col: 9, offset: 12169}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 396, col: 18, offset: 12178}, + &labeledExpr{ + pos: position{line: 2605, col: 9, offset: 84939}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2606, col: 13, offset: 84961}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3022, col: 5, offset: 97079}, + run: (*parser).callonSubstitutions12, + expr: &seqExpr{ + pos: position{line: 3022, col: 5, offset: 97079}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3022, col: 5, offset: 97079}, + expr: &charClassMatcher{ + pos: position{line: 3022, col: 5, offset: 97079}, + val: "[,;!?0-9\\pL]", + chars: []rune{',', ';', '!', '?'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &choiceExpr{ + pos: position{line: 3023, col: 6, offset: 97129}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSubstitutions17, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3023, col: 14, offset: 97137}, expr: &choiceExpr{ - pos: position{line: 397, col: 13, offset: 12192}, + pos: position{line: 3023, col: 16, offset: 97139}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 397, col: 14, offset: 12193}, - run: (*parser).callonHeaderGroupElement40, - expr: &oneOrMoreExpr{ - pos: position{line: 397, col: 14, offset: 12193}, - expr: &charClassMatcher{ - pos: position{line: 397, col: 14, offset: 12193}, - val: "[^=\\r\\n�{]]", - chars: []rune{'=', '\r', '\n', '�', '{', ']'}, - ignoreCase: false, - inverted: true, - }, - }, + &charClassMatcher{ + pos: position{line: 3023, col: 16, offset: 97139}, + val: "[.�]", + chars: []rune{'.', '�'}, + ignoreCase: false, + inverted: false, }, &actionExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - run: (*parser).callonHeaderGroupElement43, - expr: &seqExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - exprs: []interface{}{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions22, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", ignoreCase: false, - want: "\"�\"", + want: "\"\\n\"", }, - &labeledExpr{ - pos: position{line: 1222, col: 51, offset: 37823}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - run: (*parser).callonHeaderGroupElement47, - expr: &oneOrMoreExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - expr: &charClassMatcher{ - pos: position{line: 1222, col: 56, offset: 37828}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", ignoreCase: false, - want: "\"�\"", + want: "\"\\r\"", }, }, }, }, - &actionExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonHeaderGroupElement51, - expr: &seqExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonHeaderGroupElement53, - }, - &labeledExpr{ - pos: position{line: 633, col: 5, offset: 20090}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 633, col: 14, offset: 20099}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - run: (*parser).callonHeaderGroupElement56, - expr: &seqExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 652, col: 25, offset: 20703}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 652, col: 37, offset: 20715}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement60, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 652, col: 56, offset: 20734}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 652, col: 62, offset: 20740}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonHeaderGroupElement67, - expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonHeaderGroupElement72, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonHeaderGroupElement74, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 652, col: 78, offset: 20756}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - run: (*parser).callonHeaderGroupElement78, - expr: &seqExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 25, offset: 20874}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 38, offset: 20887}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement82, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 656, col: 57, offset: 20906}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 656, col: 63, offset: 20912}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonHeaderGroupElement89, - expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonHeaderGroupElement94, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonHeaderGroupElement96, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 656, col: 79, offset: 20928}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonHeaderGroupElement100, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement104, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonHeaderGroupElement110, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement114, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 402, col: 16, offset: 12426}, - run: (*parser).callonHeaderGroupElement120, - expr: &litMatcher{ - pos: position{line: 402, col: 16, offset: 12426}, - val: "{", - ignoreCase: false, - want: "\"{\"", + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, @@ -67252,210 +66760,655 @@ var g = &grammar{ }, }, }, - &litMatcher{ - pos: position{line: 408, col: 5, offset: 12612}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, }, }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 2622, col: 40, offset: 85450}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonHeaderGroupElement124, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSubstitutions29, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, }, - }, - }, - &andExpr{ - pos: position{line: 2622, col: 47, offset: 85457}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions31, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonHeaderGroupElement129, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - &ruleRefExpr{ - pos: position{line: 2624, col: 11, offset: 85530}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2625, col: 11, offset: 85558}, - name: "Quote", - }, - &ruleRefExpr{ - pos: position{line: 2626, col: 11, offset: 85574}, - name: "Link", - }, - &actionExpr{ - pos: position{line: 2680, col: 5, offset: 87021}, - run: (*parser).callonHeaderGroupElement134, - expr: &seqExpr{ - pos: position{line: 2680, col: 5, offset: 87021}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2680, col: 5, offset: 87021}, - run: (*parser).callonHeaderGroupElement136, - }, - &labeledExpr{ - pos: position{line: 2683, col: 5, offset: 87092}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - run: (*parser).callonHeaderGroupElement139, - expr: &seqExpr{ - pos: position{line: 2722, col: 5, offset: 88376}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 2722, col: 5, offset: 88376}, - val: "\\", - ignoreCase: false, - want: "\"\\\\\"", + &actionExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + run: (*parser).callonSubstitutions36, + expr: &seqExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1222, col: 51, offset: 37823}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + run: (*parser).callonSubstitutions40, + expr: &oneOrMoreExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + expr: &charClassMatcher{ + pos: position{line: 1222, col: 56, offset: 37828}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, - &choiceExpr{ - pos: position{line: 2722, col: 10, offset: 88381}, + }, + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1230, col: 5, offset: 38241}, + run: (*parser).callonSubstitutions44, + expr: &seqExpr{ + pos: position{line: 1230, col: 5, offset: 38241}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 1230, col: 5, offset: 38241}, + run: (*parser).callonSubstitutions46, + }, + &litMatcher{ + pos: position{line: 1233, col: 5, offset: 38343}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1233, col: 9, offset: 38347}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSubstitutions49, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 1233, col: 16, offset: 38354}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonHeaderGroupElement143, - expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonHeaderGroupElement145, - expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions53, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, }, - &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonHeaderGroupElement147, - expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3028, col: 16, offset: 97313}, + run: (*parser).callonSubstitutions60, + expr: &seqExpr{ + pos: position{line: 3028, col: 16, offset: 97313}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 3028, col: 16, offset: 97313}, + label: "char", + expr: &actionExpr{ + pos: position{line: 3035, col: 25, offset: 97504}, + run: (*parser).callonSubstitutions63, + expr: &charClassMatcher{ + pos: position{line: 3035, col: 25, offset: 97504}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &andExpr{ + pos: position{line: 3028, col: 44, offset: 97341}, + expr: &choiceExpr{ + pos: position{line: 3028, col: 46, offset: 97343}, + alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonHeaderGroupElement149, - expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, - val: "`'", + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSubstitutions67, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"`'\"", + inverted: false, }, }, &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonHeaderGroupElement151, - expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions69, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, }, - &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonHeaderGroupElement153, - expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, - &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonHeaderGroupElement155, - expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2612, col: 15, offset: 85200}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2613, col: 15, offset: 85220}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2614, col: 15, offset: 85252}, + name: "InlineMacro", + }, + &ruleRefExpr{ + pos: position{line: 2615, col: 15, offset: 85341}, + name: "Callout", + }, + &actionExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + run: (*parser).callonSubstitutions80, + expr: &seqExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + run: (*parser).callonSubstitutions82, + }, + &labeledExpr{ + pos: position{line: 2714, col: 5, offset: 87993}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + run: (*parser).callonSubstitutions85, + expr: &seqExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2753, col: 5, offset: 89277}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2753, col: 10, offset: 89282}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonSubstitutions89, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonSubstitutions91, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonSubstitutions93, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonSubstitutions95, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonSubstitutions97, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonSubstitutions99, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonSubstitutions101, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonSubstitutions103, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonSubstitutions105, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSubstitutions107, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSubstitutions109, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSubstitutions112, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions116, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSubstitutions123, + expr: &seqExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSubstitutions125, + }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions130, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonSubstitutions137, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonSubstitutions139, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonSubstitutions141, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, }, &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonHeaderGroupElement157, + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonSubstitutions143, expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, - val: "...", + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", ignoreCase: false, - want: "\"...\"", + want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonHeaderGroupElement159, + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonSubstitutions145, expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", ignoreCase: false, - want: "\"->\"", + want: "\"`\\\"\"", }, }, &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonHeaderGroupElement161, + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonSubstitutions147, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonSubstitutions149, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonSubstitutions151, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonSubstitutions153, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonSubstitutions155, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonSubstitutions157, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSubstitutions159, expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonHeaderGroupElement163, + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonSubstitutions161, }, &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, + pos: position{line: 2799, col: 5, offset: 90442}, val: "--", ignoreCase: false, want: "\"--\"", }, &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonHeaderGroupElement166, + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSubstitutions164, expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, + pos: position{line: 3096, col: 11, offset: 99238}, val: "[ \\t]", chars: []rune{' ', '\t'}, ignoreCase: false, @@ -67463,30 +67416,30 @@ var g = &grammar{ }, }, &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, + pos: position{line: 2799, col: 19, offset: 90456}, expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, + pos: position{line: 3112, col: 8, offset: 99561}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonHeaderGroupElement170, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions168, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -67495,9 +67448,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -67509,28 +67462,28 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonHeaderGroupElement177, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSubstitutions175, expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonHeaderGroupElement179, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonSubstitutions177, }, &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, + pos: position{line: 2807, col: 5, offset: 90636}, val: "--", ignoreCase: false, want: "\"--\"", }, &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, + pos: position{line: 2807, col: 10, offset: 90641}, expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, + pos: position{line: 2807, col: 12, offset: 90643}, alternatives: []interface{}{ &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + pos: position{line: 3003, col: 13, offset: 96406}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, @@ -67538,25 +67491,25 @@ var g = &grammar{ inverted: false, }, &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonHeaderGroupElement184, + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonSubstitutions182, expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, alternatives: []interface{}{ &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, + pos: position{line: 3105, col: 13, offset: 99422}, val: "\n", ignoreCase: false, want: "\"\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, + pos: position{line: 3105, col: 20, offset: 99429}, val: "\r\n", ignoreCase: false, want: "\"\\r\\n\"", }, &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, + pos: position{line: 3105, col: 29, offset: 99438}, val: "\r", ignoreCase: false, want: "\"\\r\"", @@ -67565,9 +67518,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -67577,186 +67530,106 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonHeaderGroupElement191, + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonSubstitutions189, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonSubstitutions191, expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, + pos: position{line: 2816, col: 20, offset: 90800}, val: "<-", ignoreCase: false, want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonHeaderGroupElement193, + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonSubstitutions193, expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, + pos: position{line: 2820, col: 21, offset: 90871}, val: "=>", ignoreCase: false, want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonHeaderGroupElement195, + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonSubstitutions195, expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, + pos: position{line: 2824, col: 20, offset: 90941}, val: "<=", ignoreCase: false, want: "\"<=\"", }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2731, col: 5, offset: 88834}, - run: (*parser).callonHeaderGroupElement197, - expr: &litMatcher{ - pos: position{line: 2731, col: 5, offset: 88834}, - val: "\"`", - ignoreCase: false, - want: "\"\\\"`\"", - }, - }, - &actionExpr{ - pos: position{line: 2734, col: 7, offset: 88892}, - run: (*parser).callonHeaderGroupElement199, - expr: &litMatcher{ - pos: position{line: 2734, col: 7, offset: 88892}, - val: "`\"", - ignoreCase: false, - want: "\"`\\\"\"", - }, - }, - &actionExpr{ - pos: position{line: 2737, col: 7, offset: 88950}, - run: (*parser).callonHeaderGroupElement201, - expr: &litMatcher{ - pos: position{line: 2737, col: 7, offset: 88950}, - val: "'`", - ignoreCase: false, - want: "\"'`\"", - }, - }, - &actionExpr{ - pos: position{line: 2740, col: 7, offset: 89006}, - run: (*parser).callonHeaderGroupElement203, - expr: &litMatcher{ - pos: position{line: 2740, col: 7, offset: 89006}, - val: "`'", - ignoreCase: false, - want: "\"`'\"", - }, - }, - &actionExpr{ - pos: position{line: 2746, col: 14, offset: 89128}, - run: (*parser).callonHeaderGroupElement205, - expr: &litMatcher{ - pos: position{line: 2746, col: 14, offset: 89128}, - val: "(C)", - ignoreCase: false, - want: "\"(C)\"", - }, - }, - &actionExpr{ - pos: position{line: 2750, col: 14, offset: 89194}, - run: (*parser).callonHeaderGroupElement207, - expr: &litMatcher{ - pos: position{line: 2750, col: 14, offset: 89194}, - val: "(TM)", - ignoreCase: false, - want: "\"(TM)\"", - }, - }, - &actionExpr{ - pos: position{line: 2754, col: 15, offset: 89263}, - run: (*parser).callonHeaderGroupElement209, - expr: &litMatcher{ - pos: position{line: 2754, col: 15, offset: 89263}, - val: "(R)", - ignoreCase: false, - want: "\"(R)\"", - }, - }, - &actionExpr{ - pos: position{line: 2758, col: 13, offset: 89328}, - run: (*parser).callonHeaderGroupElement211, - expr: &litMatcher{ - pos: position{line: 2758, col: 13, offset: 89328}, - val: "...", - ignoreCase: false, - want: "\"...\"", - }, - }, - &actionExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonHeaderGroupElement213, - expr: &seqExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2765, col: 5, offset: 89485}, - run: (*parser).callonHeaderGroupElement215, - }, - &litMatcher{ - pos: position{line: 2768, col: 5, offset: 89541}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &choiceExpr{ - pos: position{line: 2768, col: 11, offset: 89547}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonHeaderGroupElement218, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + pos: position{line: 2835, col: 5, offset: 91249}, + run: (*parser).callonSubstitutions197, + expr: &seqExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2835, col: 14, offset: 91258}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2835, col: 19, offset: 91263}, + expr: &charClassMatcher{ + pos: position{line: 2835, col: 20, offset: 91264}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, - &andExpr{ - pos: position{line: 2768, col: 19, offset: 89555}, - expr: &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonHeaderGroupElement222, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + run: (*parser).callonSubstitutions203, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + &litMatcher{ + pos: position{line: 2841, col: 14, offset: 91504}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2841, col: 18, offset: 91508}, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 19, offset: 91509}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, @@ -67767,461 +67640,298 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonHeaderGroupElement229, - expr: &seqExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2773, col: 5, offset: 89676}, - run: (*parser).callonHeaderGroupElement231, - }, - &litMatcher{ - pos: position{line: 2776, col: 5, offset: 89735}, - val: "--", - ignoreCase: false, - want: "\"--\"", - }, - &andExpr{ - pos: position{line: 2776, col: 10, offset: 89740}, - expr: &choiceExpr{ - pos: position{line: 2776, col: 12, offset: 89742}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonHeaderGroupElement236, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2781, col: 21, offset: 89829}, - run: (*parser).callonHeaderGroupElement243, - expr: &litMatcher{ - pos: position{line: 2781, col: 21, offset: 89829}, - val: "->", - ignoreCase: false, - want: "\"->\"", - }, - }, - &actionExpr{ - pos: position{line: 2785, col: 20, offset: 89899}, - run: (*parser).callonHeaderGroupElement245, - expr: &litMatcher{ - pos: position{line: 2785, col: 20, offset: 89899}, - val: "<-", - ignoreCase: false, - want: "\"<-\"", - }, - }, - &actionExpr{ - pos: position{line: 2789, col: 21, offset: 89970}, - run: (*parser).callonHeaderGroupElement247, - expr: &litMatcher{ - pos: position{line: 2789, col: 21, offset: 89970}, - val: "=>", - ignoreCase: false, - want: "\"=>\"", - }, - }, - &actionExpr{ - pos: position{line: 2793, col: 20, offset: 90040}, - run: (*parser).callonHeaderGroupElement249, - expr: &litMatcher{ - pos: position{line: 2793, col: 20, offset: 90040}, - val: "<=", - ignoreCase: false, - want: "\"<=\"", - }, - }, - &actionExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - run: (*parser).callonHeaderGroupElement251, - expr: &seqExpr{ - pos: position{line: 2804, col: 5, offset: 90348}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2804, col: 14, offset: 90357}, - val: "\\'", - ignoreCase: false, - want: "\"\\\\'\"", - }, - &andExpr{ - pos: position{line: 2804, col: 19, offset: 90362}, - expr: &charClassMatcher{ - pos: position{line: 2804, col: 20, offset: 90363}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, - run: (*parser).callonHeaderGroupElement257, - expr: &seqExpr{ - pos: position{line: 2810, col: 5, offset: 90594}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &litMatcher{ - pos: position{line: 2810, col: 14, offset: 90603}, - val: "'", - ignoreCase: false, - want: "\"'\"", - }, - &andExpr{ - pos: position{line: 2810, col: 18, offset: 90607}, - expr: &charClassMatcher{ - pos: position{line: 2810, col: 19, offset: 90608}, - val: "[\\pL]", - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonHeaderGroupElement263, - expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonHeaderGroupElement265, - }, - &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, - run: (*parser).callonHeaderGroupElement268, - expr: &choiceExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - run: (*parser).callonHeaderGroupElement270, - expr: &seqExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 680, col: 27, offset: 21754}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 32, offset: 21759}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonHeaderGroupElement274, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 680, col: 40, offset: 21767}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonHeaderGroupElement278, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 680, col: 47, offset: 21774}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 51, offset: 21778}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 690, col: 24, offset: 22179}, - expr: &choiceExpr{ - pos: position{line: 691, col: 5, offset: 22185}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - run: (*parser).callonHeaderGroupElement284, - expr: &seqExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 691, col: 6, offset: 22186}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 691, col: 14, offset: 22194}, + &actionExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonSubstitutions209, + expr: &seqExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonSubstitutions211, + }, + &labeledExpr{ + pos: position{line: 2725, col: 5, offset: 88224}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + run: (*parser).callonSubstitutions214, + expr: &choiceExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + run: (*parser).callonSubstitutions216, + expr: &seqExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 680, col: 27, offset: 21754}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 32, offset: 21759}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonSubstitutions220, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, expr: &charClassMatcher{ - pos: position{line: 691, col: 14, offset: 22194}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, ignoreCase: false, inverted: true, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonHeaderGroupElement289, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", + &zeroOrMoreExpr{ + pos: position{line: 680, col: 40, offset: 21767}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonSubstitutions224, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, - want: "\"\\\\{\"", + inverted: false, }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement293, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, + }, + }, + &litMatcher{ + pos: position{line: 680, col: 47, offset: 21774}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 51, offset: 21778}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 690, col: 24, offset: 22179}, + expr: &choiceExpr{ + pos: position{line: 691, col: 5, offset: 22185}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + run: (*parser).callonSubstitutions230, + expr: &seqExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 691, col: 6, offset: 22186}, + val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &oneOrMoreExpr{ + pos: position{line: 691, col: 14, offset: 22194}, + expr: &charClassMatcher{ + pos: position{line: 691, col: 14, offset: 22194}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, }, }, }, - }, - }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonHeaderGroupElement299, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement303, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonSubstitutions235, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSubstitutions239, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + }, + }, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonSubstitutions245, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", ignoreCase: false, - inverted: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSubstitutions249, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, + &actionExpr{ + pos: position{line: 695, col: 8, offset: 22420}, + run: (*parser).callonSubstitutions255, + expr: &litMatcher{ + pos: position{line: 695, col: 8, offset: 22420}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, }, - &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, + &litMatcher{ + pos: position{line: 680, col: 79, offset: 21806}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, }, - &actionExpr{ - pos: position{line: 695, col: 8, offset: 22420}, - run: (*parser).callonHeaderGroupElement309, - expr: &litMatcher{ - pos: position{line: 695, col: 8, offset: 22420}, - val: "{", + }, + }, + &actionExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + run: (*parser).callonSubstitutions258, + expr: &seqExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 682, col: 9, offset: 21879}, + val: "<<", ignoreCase: false, - want: "\"{\"", + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 682, col: 14, offset: 21884}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonSubstitutions262, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 682, col: 22, offset: 21892}, + val: ">>", + ignoreCase: false, + want: "\">>\"", }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 680, col: 79, offset: 21806}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, }, - }, - }, - &actionExpr{ - pos: position{line: 682, col: 9, offset: 21879}, - run: (*parser).callonHeaderGroupElement312, - expr: &seqExpr{ - pos: position{line: 682, col: 9, offset: 21879}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 682, col: 9, offset: 21879}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 682, col: 14, offset: 21884}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonHeaderGroupElement316, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 682, col: 22, offset: 21892}, - val: ">>", + &actionExpr{ + pos: position{line: 2730, col: 11, offset: 88426}, + run: (*parser).callonSubstitutions266, + expr: &charClassMatcher{ + pos: position{line: 2730, col: 12, offset: 88427}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, ignoreCase: false, - want: "\">>\"", + inverted: false, }, }, }, @@ -68229,132 +67939,61 @@ var g = &grammar{ }, }, }, - &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, - run: (*parser).callonHeaderGroupElement320, - expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2629, col: 11, offset: 85681}, - name: "InlineIcon", - }, - &actionExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonHeaderGroupElement323, - expr: &seqExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonHeaderGroupElement325, - }, - &labeledExpr{ - pos: position{line: 633, col: 5, offset: 20090}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 633, col: 14, offset: 20099}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - run: (*parser).callonHeaderGroupElement328, - expr: &seqExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 652, col: 25, offset: 20703}, - val: "{counter:", - ignoreCase: false, - want: "\"{counter:\"", - }, - &labeledExpr{ - pos: position{line: 652, col: 37, offset: 20715}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement332, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 652, col: 56, offset: 20734}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 652, col: 62, offset: 20740}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonHeaderGroupElement339, + &actionExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonSubstitutions268, + expr: &seqExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonSubstitutions270, + }, + &labeledExpr{ + pos: position{line: 633, col: 5, offset: 20090}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 633, col: 14, offset: 20099}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + run: (*parser).callonSubstitutions273, expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, + pos: position{line: 652, col: 25, offset: 20703}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", + pos: position{line: 652, col: 25, offset: 20703}, + val: "{counter:", ignoreCase: false, - want: "\":\"", + want: "\"{counter:\"", }, &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonHeaderGroupElement344, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 652, col: 37, offset: 20715}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSubstitutions277, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonHeaderGroupElement346, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, @@ -68363,109 +68002,109 @@ var g = &grammar{ }, }, }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 652, col: 78, offset: 20756}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - run: (*parser).callonHeaderGroupElement350, - expr: &seqExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 25, offset: 20874}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 38, offset: 20887}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement354, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &labeledExpr{ + pos: position{line: 652, col: 56, offset: 20734}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 652, col: 62, offset: 20740}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonSubstitutions284, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonSubstitutions289, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonSubstitutions291, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 78, offset: 20756}, + val: "}", ignoreCase: false, - inverted: false, + want: "\"}\"", }, }, }, }, - }, - }, - &labeledExpr{ - pos: position{line: 656, col: 57, offset: 20906}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 656, col: 63, offset: 20912}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonHeaderGroupElement361, + &actionExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + run: (*parser).callonSubstitutions295, expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, + pos: position{line: 656, col: 25, offset: 20874}, exprs: []interface{}{ &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", + pos: position{line: 656, col: 25, offset: 20874}, + val: "{counter2:", ignoreCase: false, - want: "\":\"", + want: "\"{counter2:\"", }, &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonHeaderGroupElement366, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, + pos: position{line: 656, col: 38, offset: 20887}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSubstitutions299, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonHeaderGroupElement368, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, @@ -68474,956 +68113,813 @@ var g = &grammar{ }, }, }, + &labeledExpr{ + pos: position{line: 656, col: 57, offset: 20906}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 656, col: 63, offset: 20912}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonSubstitutions306, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonSubstitutions311, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonSubstitutions313, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 656, col: 79, offset: 20928}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - }, - &litMatcher{ - pos: position{line: 656, col: 79, offset: 20928}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonHeaderGroupElement372, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement376, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonSubstitutions317, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", ignoreCase: false, - inverted: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSubstitutions321, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, - }, - }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonHeaderGroupElement382, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonHeaderGroupElement386, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonSubstitutions327, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", ignoreCase: false, - inverted: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonSubstitutions331, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - run: (*parser).callonHeaderGroupElement392, - expr: &seqExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1222, col: 51, offset: 37823}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - run: (*parser).callonHeaderGroupElement396, - expr: &oneOrMoreExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - expr: &charClassMatcher{ - pos: position{line: 1222, col: 56, offset: 37828}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1301, col: 5, offset: 40300}, - run: (*parser).callonHeaderGroupElement400, - expr: &seqExpr{ - pos: position{line: 1301, col: 5, offset: 40300}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1301, col: 5, offset: 40300}, - val: "\\[[", - ignoreCase: false, - want: "\"\\\\[[\"", - }, - &labeledExpr{ - pos: position{line: 1301, col: 14, offset: 40309}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonHeaderGroupElement404, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1301, col: 22, offset: 40317}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1307, col: 5, offset: 40503}, - run: (*parser).callonHeaderGroupElement408, - expr: &seqExpr{ - pos: position{line: 1307, col: 5, offset: 40503}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1307, col: 5, offset: 40503}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 1307, col: 10, offset: 40508}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonHeaderGroupElement412, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, + &actionExpr{ + pos: position{line: 3040, col: 12, offset: 97653}, + run: (*parser).callonSubstitutions337, expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, + pos: position{line: 3040, col: 12, offset: 97653}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, ignoreCase: false, inverted: true, }, }, }, }, - &litMatcher{ - pos: position{line: 1307, col: 18, offset: 40516}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, }, }, }, - &ruleRefExpr{ - pos: position{line: 2633, col: 11, offset: 85904}, - name: "InlineFootnote", - }, - &actionExpr{ - pos: position{line: 3009, col: 12, offset: 96752}, - run: (*parser).callonHeaderGroupElement417, - expr: &charClassMatcher{ - pos: position{line: 3009, col: 12, offset: 96752}, - val: "[^\\r\\n]", - chars: []rune{'\r', '\n'}, - ignoreCase: false, - inverted: true, - }, - }, }, }, }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, }, }, }, { - name: "InlineMacro", - pos: position{line: 2638, col: 1, offset: 85983}, + name: "AttributeStructuredValue", + pos: position{line: 2628, col: 1, offset: 85823}, expr: &actionExpr{ - pos: position{line: 2640, col: 5, offset: 86065}, - run: (*parser).callonInlineMacro1, + pos: position{line: 2629, col: 5, offset: 85856}, + run: (*parser).callonAttributeStructuredValue1, expr: &seqExpr{ - pos: position{line: 2640, col: 5, offset: 86065}, + pos: position{line: 2629, col: 5, offset: 85856}, exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2640, col: 5, offset: 86065}, - run: (*parser).callonInlineMacro3, - }, &labeledExpr{ - pos: position{line: 2643, col: 5, offset: 86130}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2644, col: 9, offset: 86148}, - alternatives: []interface{}{ - &ruleRefExpr{ - pos: position{line: 2644, col: 9, offset: 86148}, - name: "InlineIcon", - }, - &ruleRefExpr{ - pos: position{line: 2645, col: 11, offset: 86169}, - name: "InlineImage", - }, - &ruleRefExpr{ - pos: position{line: 2646, col: 11, offset: 86192}, - name: "Link", - }, - &ruleRefExpr{ - pos: position{line: 2647, col: 11, offset: 86208}, - name: "InlinePassthrough", - }, - &ruleRefExpr{ - pos: position{line: 2648, col: 11, offset: 86237}, - name: "InlineFootnote", - }, - &ruleRefExpr{ - pos: position{line: 2649, col: 11, offset: 86263}, - name: "CrossReference", - }, - &ruleRefExpr{ - pos: position{line: 2650, col: 11, offset: 86289}, - name: "InlineUserMacro", - }, - &actionExpr{ - pos: position{line: 1301, col: 5, offset: 40300}, - run: (*parser).callonInlineMacro13, - expr: &seqExpr{ - pos: position{line: 1301, col: 5, offset: 40300}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1301, col: 5, offset: 40300}, - val: "\\[[", - ignoreCase: false, - want: "\"\\\\[[\"", - }, - &labeledExpr{ - pos: position{line: 1301, col: 14, offset: 40309}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonInlineMacro17, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, + pos: position{line: 2629, col: 5, offset: 85856}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2629, col: 14, offset: 85865}, + expr: &choiceExpr{ + pos: position{line: 2630, col: 9, offset: 85875}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2630, col: 9, offset: 85875}, + name: "InlineMacro", + }, + &ruleRefExpr{ + pos: position{line: 2631, col: 11, offset: 85897}, + name: "Quote", + }, + &actionExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + run: (*parser).callonAttributeStructuredValue8, + expr: &seqExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + expr: &charClassMatcher{ + pos: position{line: 3015, col: 5, offset: 96861}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, - }, - &litMatcher{ - pos: position{line: 1301, col: 22, offset: 40317}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1307, col: 5, offset: 40503}, - run: (*parser).callonInlineMacro21, - expr: &seqExpr{ - pos: position{line: 1307, col: 5, offset: 40503}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1307, col: 5, offset: 40503}, - val: "[[", - ignoreCase: false, - want: "\"[[\"", - }, - &labeledExpr{ - pos: position{line: 1307, col: 10, offset: 40508}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonInlineMacro25, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, + &andExpr{ + pos: position{line: 3015, col: 15, offset: 96871}, + expr: &choiceExpr{ + pos: position{line: 3015, col: 17, offset: 96873}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3015, col: 17, offset: 96873}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 1307, col: 18, offset: 40516}, - val: "]]", - ignoreCase: false, - want: "\"]]\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 1346, col: 23, offset: 41987}, - run: (*parser).callonInlineMacro29, - expr: &seqExpr{ - pos: position{line: 1346, col: 23, offset: 41987}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1346, col: 23, offset: 41987}, - val: "(((", - ignoreCase: false, - want: "\"(((\"", - }, - &labeledExpr{ - pos: position{line: 1346, col: 29, offset: 41993}, - label: "term1", - expr: &actionExpr{ - pos: position{line: 1353, col: 30, offset: 42324}, - run: (*parser).callonInlineMacro33, - expr: &oneOrMoreExpr{ - pos: position{line: 1353, col: 30, offset: 42324}, - expr: &choiceExpr{ - pos: position{line: 1353, col: 31, offset: 42325}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, + &actionExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + run: (*parser).callonAttributeStructuredValue17, + expr: &seqExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + expr: &charClassMatcher{ + pos: position{line: 3017, col: 9, offset: 96955}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3017, col: 19, offset: 96965}, + expr: &seqExpr{ + pos: position{line: 3017, col: 20, offset: 96966}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3017, col: 20, offset: 96966}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 3017, col: 27, offset: 96973}, + expr: &charClassMatcher{ + pos: position{line: 3017, col: 27, offset: 96973}, val: "[0-9\\pL]", ranges: []rune{'0', '9'}, classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineMacro37, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, }, - &labeledExpr{ - pos: position{line: 1347, col: 5, offset: 42032}, - label: "term2", - expr: &zeroOrOneExpr{ - pos: position{line: 1347, col: 11, offset: 42038}, - expr: &actionExpr{ - pos: position{line: 1347, col: 12, offset: 42039}, - run: (*parser).callonInlineMacro41, - expr: &seqExpr{ - pos: position{line: 1347, col: 12, offset: 42039}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1347, col: 12, offset: 42039}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineMacro44, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1347, col: 19, offset: 42046}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1347, col: 23, offset: 42050}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineMacro48, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1347, col: 30, offset: 42057}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1353, col: 30, offset: 42324}, - run: (*parser).callonInlineMacro51, - expr: &oneOrMoreExpr{ - pos: position{line: 1353, col: 30, offset: 42324}, - expr: &choiceExpr{ - pos: position{line: 1353, col: 31, offset: 42325}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + }, + }, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonAttributeStructuredValue26, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonAttributeStructuredValue28, + expr: &seqExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonAttributeStructuredValue30, + }, + &labeledExpr{ + pos: position{line: 2725, col: 5, offset: 88224}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + run: (*parser).callonAttributeStructuredValue33, + expr: &choiceExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + run: (*parser).callonAttributeStructuredValue35, + expr: &seqExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 680, col: 27, offset: 21754}, + val: "<<", ignoreCase: false, - inverted: false, + want: "\"<<\"", }, - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineMacro55, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 680, col: 32, offset: 21759}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonAttributeStructuredValue39, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 680, col: 40, offset: 21767}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonAttributeStructuredValue43, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 680, col: 47, offset: 21774}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 51, offset: 21778}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 690, col: 24, offset: 22179}, + expr: &choiceExpr{ + pos: position{line: 691, col: 5, offset: 22185}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + run: (*parser).callonAttributeStructuredValue49, + expr: &seqExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 691, col: 6, offset: 22186}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 691, col: 14, offset: 22194}, + expr: &charClassMatcher{ + pos: position{line: 691, col: 14, offset: 22194}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonAttributeStructuredValue54, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonAttributeStructuredValue58, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonAttributeStructuredValue64, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonAttributeStructuredValue68, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 695, col: 8, offset: 22420}, + run: (*parser).callonAttributeStructuredValue74, + expr: &litMatcher{ + pos: position{line: 695, col: 8, offset: 22420}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, }, }, + &litMatcher{ + pos: position{line: 680, col: 79, offset: 21806}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, }, }, }, - }, - }, - }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1348, col: 5, offset: 42124}, - label: "term3", - expr: &zeroOrOneExpr{ - pos: position{line: 1348, col: 11, offset: 42130}, - expr: &actionExpr{ - pos: position{line: 1348, col: 12, offset: 42131}, - run: (*parser).callonInlineMacro59, - expr: &seqExpr{ - pos: position{line: 1348, col: 12, offset: 42131}, - exprs: []interface{}{ - &zeroOrMoreExpr{ - pos: position{line: 1348, col: 12, offset: 42131}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineMacro62, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 1348, col: 19, offset: 42138}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &zeroOrMoreExpr{ - pos: position{line: 1348, col: 23, offset: 42142}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineMacro66, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &labeledExpr{ - pos: position{line: 1348, col: 30, offset: 42149}, - label: "content", - expr: &actionExpr{ - pos: position{line: 1353, col: 30, offset: 42324}, - run: (*parser).callonInlineMacro69, - expr: &oneOrMoreExpr{ - pos: position{line: 1353, col: 30, offset: 42324}, - expr: &choiceExpr{ - pos: position{line: 1353, col: 31, offset: 42325}, - alternatives: []interface{}{ - &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, + &actionExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + run: (*parser).callonAttributeStructuredValue77, + expr: &seqExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 682, col: 9, offset: 21879}, + val: "<<", ignoreCase: false, - inverted: false, + want: "\"<<\"", }, - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlineMacro73, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 682, col: 14, offset: 21884}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonAttributeStructuredValue81, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, }, }, + &litMatcher{ + pos: position{line: 682, col: 22, offset: 21892}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, }, }, }, }, }, }, + &actionExpr{ + pos: position{line: 2730, col: 11, offset: 88426}, + run: (*parser).callonAttributeStructuredValue85, + expr: &charClassMatcher{ + pos: position{line: 2730, col: 12, offset: 88427}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, - &litMatcher{ - pos: position{line: 1349, col: 5, offset: 42216}, - val: ")))", - ignoreCase: false, - want: "\")))\"", - }, }, }, - }, - &ruleRefExpr{ - pos: position{line: 2653, col: 11, offset: 86368}, - name: "IndexTerm", - }, - &ruleRefExpr{ - pos: position{line: 2654, col: 11, offset: 86388}, - name: "InlineButton", - }, - &ruleRefExpr{ - pos: position{line: 2655, col: 11, offset: 86411}, - name: "InlineMenu", - }, - &ruleRefExpr{ - pos: position{line: 2656, col: 11, offset: 86432}, - name: "InlineUserMacro", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "InlinePassthrough", - pos: position{line: 2660, col: 1, offset: 86494}, - expr: &actionExpr{ - pos: position{line: 2662, col: 5, offset: 86582}, - run: (*parser).callonInlinePassthrough1, - expr: &seqExpr{ - pos: position{line: 2662, col: 5, offset: 86582}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2662, col: 5, offset: 86582}, - run: (*parser).callonInlinePassthrough3, - }, - &labeledExpr{ - pos: position{line: 2665, col: 5, offset: 86659}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2666, col: 9, offset: 86677}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 1416, col: 26, offset: 45217}, - run: (*parser).callonInlinePassthrough6, - expr: &seqExpr{ - pos: position{line: 1416, col: 26, offset: 45217}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1414, col: 32, offset: 45185}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - &labeledExpr{ - pos: position{line: 1416, col: 54, offset: 45245}, - label: "content", - expr: &choiceExpr{ - pos: position{line: 1420, col: 33, offset: 45458}, + &actionExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + run: (*parser).callonAttributeStructuredValue87, + expr: &seqExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2753, col: 5, offset: 89277}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2753, col: 10, offset: 89282}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1420, col: 34, offset: 45459}, - run: (*parser).callonInlinePassthrough11, - expr: &zeroOrMoreExpr{ - pos: position{line: 1420, col: 34, offset: 45459}, - expr: &seqExpr{ - pos: position{line: 1420, col: 35, offset: 45460}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1420, col: 35, offset: 45460}, - expr: &litMatcher{ - pos: position{line: 1414, col: 32, offset: 45185}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - }, - &anyMatcher{ - line: 1420, col: 64, offset: 45489, - }, - }, - }, + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonAttributeStructuredValue91, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", }, }, &actionExpr{ - pos: position{line: 1422, col: 11, offset: 45662}, - run: (*parser).callonInlinePassthrough17, - expr: &zeroOrOneExpr{ - pos: position{line: 1422, col: 11, offset: 45662}, - expr: &seqExpr{ - pos: position{line: 1422, col: 12, offset: 45663}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1422, col: 12, offset: 45663}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlinePassthrough21, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1422, col: 19, offset: 45670}, - expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlinePassthrough24, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1422, col: 28, offset: 45679}, - expr: &litMatcher{ - pos: position{line: 1414, col: 32, offset: 45185}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - }, - &anyMatcher{ - line: 1422, col: 57, offset: 45708, - }, - }, - }, + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonAttributeStructuredValue93, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", }, }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1414, col: 32, offset: 45185}, - val: "+++", - ignoreCase: false, - want: "\"+++\"", - }, - ¬Expr{ - pos: position{line: 1416, col: 121, offset: 45312}, - expr: &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1404, col: 26, offset: 44500}, - run: (*parser).callonInlinePassthrough35, - expr: &seqExpr{ - pos: position{line: 1404, col: 26, offset: 44500}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1402, col: 32, offset: 44470}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - &labeledExpr{ - pos: position{line: 1404, col: 54, offset: 44528}, - label: "content", - expr: &choiceExpr{ - pos: position{line: 1408, col: 33, offset: 44741}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 1408, col: 34, offset: 44742}, - run: (*parser).callonInlinePassthrough40, + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonAttributeStructuredValue95, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonAttributeStructuredValue97, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonAttributeStructuredValue99, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonAttributeStructuredValue101, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonAttributeStructuredValue103, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonAttributeStructuredValue105, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonAttributeStructuredValue107, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonAttributeStructuredValue109, expr: &seqExpr{ - pos: position{line: 1408, col: 34, offset: 44742}, + pos: position{line: 2796, col: 5, offset: 90386}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1408, col: 35, offset: 44743}, - expr: &litMatcher{ - pos: position{line: 1402, col: 32, offset: 44470}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonAttributeStructuredValue111, }, - ¬Expr{ - pos: position{line: 1408, col: 64, offset: 44772}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlinePassthrough45, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", }, - ¬Expr{ - pos: position{line: 1408, col: 71, offset: 44779}, - expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlinePassthrough48, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonAttributeStructuredValue114, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, }, }, - }, - }, - &anyMatcher{ - line: 1408, col: 80, offset: 44788, - }, - &zeroOrMoreExpr{ - pos: position{line: 1408, col: 83, offset: 44791}, - expr: &seqExpr{ - pos: position{line: 1408, col: 84, offset: 44792}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1408, col: 84, offset: 44792}, - expr: &seqExpr{ - pos: position{line: 1408, col: 86, offset: 44794}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - run: (*parser).callonInlinePassthrough58, - expr: &oneOrMoreExpr{ - pos: position{line: 3069, col: 11, offset: 98403}, - expr: &charClassMatcher{ - pos: position{line: 3069, col: 12, offset: 98404}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonAttributeStructuredValue118, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", ignoreCase: false, - inverted: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", }, }, }, - &litMatcher{ - pos: position{line: 1402, col: 32, offset: 44470}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, }, - }, - }, - ¬Expr{ - pos: position{line: 1408, col: 122, offset: 44830}, - expr: &litMatcher{ - pos: position{line: 1402, col: 32, offset: 44470}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - }, - ¬Expr{ - pos: position{line: 1408, col: 151, offset: 44859}, - expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlinePassthrough65, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, }, - &anyMatcher{ - line: 1408, col: 160, offset: 44868, - }, }, }, }, @@ -69431,372 +68927,486 @@ var g = &grammar{ }, }, &actionExpr{ - pos: position{line: 1410, col: 11, offset: 45018}, - run: (*parser).callonInlinePassthrough71, + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonAttributeStructuredValue125, expr: &seqExpr{ - pos: position{line: 1410, col: 12, offset: 45019}, + pos: position{line: 2804, col: 5, offset: 90577}, exprs: []interface{}{ - ¬Expr{ - pos: position{line: 1410, col: 12, offset: 45019}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonInlinePassthrough74, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - ¬Expr{ - pos: position{line: 1410, col: 19, offset: 45026}, - expr: &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonInlinePassthrough77, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 1410, col: 28, offset: 45035}, - expr: &litMatcher{ - pos: position{line: 1402, col: 32, offset: 44470}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonAttributeStructuredValue127, }, - &anyMatcher{ - line: 1410, col: 57, offset: 45064, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", }, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 1402, col: 32, offset: 44470}, - val: "+", - ignoreCase: false, - want: "\"+\"", - }, - ¬Expr{ - pos: position{line: 1404, col: 121, offset: 44595}, - expr: &charClassMatcher{ - pos: position{line: 2972, col: 13, offset: 95505}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - &ruleRefExpr{ - pos: position{line: 2666, col: 57, offset: 86725}, - name: "PassthroughMacro", - }, - }, - }, - }, - }, - }, - }, - }, - { - name: "Quote", - pos: position{line: 2671, col: 1, offset: 86785}, - expr: &seqExpr{ - pos: position{line: 2673, col: 5, offset: 86861}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2673, col: 5, offset: 86861}, - run: (*parser).callonQuote2, - }, - &ruleRefExpr{ - pos: position{line: 2676, col: 5, offset: 86926}, - name: "QuotedText", - }, - }, - }, - }, - { - name: "TableColumnsAttribute", - pos: position{line: 2887, col: 1, offset: 92563}, - expr: &actionExpr{ - pos: position{line: 2887, col: 26, offset: 92588}, - run: (*parser).callonTableColumnsAttribute1, - expr: &seqExpr{ - pos: position{line: 2887, col: 26, offset: 92588}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2887, col: 26, offset: 92588}, - label: "cols", - expr: &zeroOrMoreExpr{ - pos: position{line: 2887, col: 31, offset: 92593}, - expr: &actionExpr{ - pos: position{line: 2892, col: 5, offset: 92656}, - run: (*parser).callonTableColumnsAttribute5, - expr: &seqExpr{ - pos: position{line: 2892, col: 5, offset: 92656}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 2892, col: 5, offset: 92656}, - expr: ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2895, col: 5, offset: 92780}, - label: "multiplier", - expr: &zeroOrOneExpr{ - pos: position{line: 2895, col: 16, offset: 92791}, - expr: &actionExpr{ - pos: position{line: 2895, col: 17, offset: 92792}, - run: (*parser).callonTableColumnsAttribute12, - expr: &seqExpr{ - pos: position{line: 2895, col: 17, offset: 92792}, - exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2895, col: 17, offset: 92792}, - label: "n", - expr: &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, - run: (*parser).callonTableColumnsAttribute15, - expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, - expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, - val: "-", - ignoreCase: false, - want: "\"-\"", - }, - }, - &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, - expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, - val: "[0-9]", + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonAttributeStructuredValue132, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 2895, col: 27, offset: 92802}, - val: "*", - ignoreCase: false, - want: "\"*\"", - }, }, - }, - }, - }, - }, - &labeledExpr{ - pos: position{line: 2896, col: 5, offset: 92830}, - label: "halign", - expr: &zeroOrOneExpr{ - pos: position{line: 2896, col: 12, offset: 92837}, - expr: &choiceExpr{ - pos: position{line: 2897, col: 9, offset: 92847}, - alternatives: []interface{}{ &actionExpr{ - pos: position{line: 2897, col: 9, offset: 92847}, - run: (*parser).callonTableColumnsAttribute25, + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonAttributeStructuredValue139, expr: &litMatcher{ - pos: position{line: 2897, col: 9, offset: 92847}, - val: "<", + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", ignoreCase: false, - want: "\"<\"", + want: "\"<-\"", }, }, &actionExpr{ - pos: position{line: 2898, col: 11, offset: 92894}, - run: (*parser).callonTableColumnsAttribute27, + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonAttributeStructuredValue141, expr: &litMatcher{ - pos: position{line: 2898, col: 11, offset: 92894}, - val: ">", + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", ignoreCase: false, - want: "\">\"", + want: "\"=>\"", }, }, &actionExpr{ - pos: position{line: 2899, col: 11, offset: 92942}, - run: (*parser).callonTableColumnsAttribute29, + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonAttributeStructuredValue143, expr: &litMatcher{ - pos: position{line: 2899, col: 11, offset: 92942}, - val: "^", + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", ignoreCase: false, - want: "\"^\"", + want: "\"<=\"", }, }, }, }, }, }, - &labeledExpr{ - pos: position{line: 2901, col: 5, offset: 92992}, - label: "valign", - expr: &zeroOrOneExpr{ - pos: position{line: 2901, col: 12, offset: 92999}, - expr: &choiceExpr{ - pos: position{line: 2902, col: 9, offset: 93009}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2902, col: 9, offset: 93009}, - run: (*parser).callonTableColumnsAttribute34, - expr: &litMatcher{ - pos: position{line: 2902, col: 9, offset: 93009}, - val: ".<", - ignoreCase: false, - want: "\".<\"", - }, - }, - &actionExpr{ - pos: position{line: 2903, col: 11, offset: 93056}, - run: (*parser).callonTableColumnsAttribute36, - expr: &litMatcher{ - pos: position{line: 2903, col: 11, offset: 93056}, - val: ".>", - ignoreCase: false, - want: "\".>\"", - }, - }, - &actionExpr{ - pos: position{line: 2904, col: 11, offset: 93106}, - run: (*parser).callonTableColumnsAttribute38, - expr: &litMatcher{ - pos: position{line: 2904, col: 11, offset: 93106}, - val: ".^", - ignoreCase: false, - want: "\".^\"", - }, - }, - }, - }, - }, + }, + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonAttributeStructuredValue145, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", }, - &labeledExpr{ - pos: position{line: 2906, col: 5, offset: 93157}, - label: "weight", - expr: &zeroOrOneExpr{ - pos: position{line: 2906, col: 12, offset: 93164}, - expr: &choiceExpr{ - pos: position{line: 2906, col: 13, offset: 93165}, + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonAttributeStructuredValue147, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonAttributeStructuredValue149, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonAttributeStructuredValue151, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonAttributeStructuredValue153, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonAttributeStructuredValue155, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonAttributeStructuredValue157, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonAttributeStructuredValue159, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonAttributeStructuredValue161, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonAttributeStructuredValue163, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, alternatives: []interface{}{ &actionExpr{ - pos: position{line: 3057, col: 12, offset: 98163}, - run: (*parser).callonTableColumnsAttribute43, - expr: &seqExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, - exprs: []interface{}{ - &zeroOrOneExpr{ - pos: position{line: 3057, col: 13, offset: 98164}, - expr: &litMatcher{ - pos: position{line: 3057, col: 13, offset: 98164}, - val: "-", - ignoreCase: false, - want: "\"-\"", + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonAttributeStructuredValue166, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonAttributeStructuredValue170, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, }, }, - &oneOrMoreExpr{ - pos: position{line: 3057, col: 18, offset: 98169}, - expr: &charClassMatcher{ - pos: position{line: 3057, col: 18, offset: 98169}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, }, }, - &actionExpr{ - pos: position{line: 2906, col: 24, offset: 93176}, - run: (*parser).callonTableColumnsAttribute49, - expr: &litMatcher{ - pos: position{line: 2906, col: 24, offset: 93176}, - val: "~", + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonAttributeStructuredValue177, + expr: &seqExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonAttributeStructuredValue179, + }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\"~\"", + inverted: false, + }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonAttributeStructuredValue184, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, }, }, }, }, }, }, - &labeledExpr{ - pos: position{line: 2907, col: 5, offset: 93218}, - label: "style", - expr: &zeroOrOneExpr{ - pos: position{line: 2907, col: 11, offset: 93224}, - expr: &actionExpr{ - pos: position{line: 2907, col: 12, offset: 93225}, - run: (*parser).callonTableColumnsAttribute53, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonAttributeStructuredValue191, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonAttributeStructuredValue193, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonAttributeStructuredValue195, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonAttributeStructuredValue197, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + run: (*parser).callonAttributeStructuredValue199, + expr: &seqExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2835, col: 14, offset: 91258}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2835, col: 19, offset: 91263}, expr: &charClassMatcher{ - pos: position{line: 2907, col: 12, offset: 93225}, - val: "[adehlms]", - chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, + pos: position{line: 2835, col: 20, offset: 91264}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, }, }, }, - &labeledExpr{ - pos: position{line: 2909, col: 5, offset: 93355}, - label: "comma", - expr: &zeroOrOneExpr{ - pos: position{line: 2909, col: 11, offset: 93361}, - expr: &litMatcher{ - pos: position{line: 2909, col: 12, offset: 93362}, - val: ",", + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + run: (*parser).callonAttributeStructuredValue205, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - want: "\",\"", + inverted: false, + }, + &litMatcher{ + pos: position{line: 2841, col: 14, offset: 91504}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2841, col: 18, offset: 91508}, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 19, offset: 91509}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, - &andCodeExpr{ - pos: position{line: 2910, col: 5, offset: 93372}, - run: (*parser).callonTableColumnsAttribute58, + }, + &actionExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + run: (*parser).callonAttributeStructuredValue211, + expr: &seqExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1222, col: 51, offset: 37823}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + run: (*parser).callonAttributeStructuredValue215, + expr: &oneOrMoreExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + expr: &charClassMatcher{ + pos: position{line: 1222, col: 56, offset: 37828}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3040, col: 12, offset: 97653}, + run: (*parser).callonAttributeStructuredValue219, + expr: &charClassMatcher{ + pos: position{line: 3040, col: 12, offset: 97653}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, }, }, }, @@ -69804,9 +69414,9 @@ var g = &grammar{ }, }, ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, + pos: position{line: 3109, col: 8, offset: 99511}, expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, + line: 3109, col: 9, offset: 99512, }, }, }, @@ -69814,106 +69424,29 @@ var g = &grammar{ }, }, { - name: "UserMacroBlock", - pos: position{line: 2937, col: 1, offset: 94381}, + name: "HeaderGroup", + pos: position{line: 2644, col: 1, offset: 86140}, expr: &actionExpr{ - pos: position{line: 2938, col: 5, offset: 94404}, - run: (*parser).callonUserMacroBlock1, + pos: position{line: 2645, col: 5, offset: 86160}, + run: (*parser).callonHeaderGroup1, expr: &seqExpr{ - pos: position{line: 2938, col: 5, offset: 94404}, + pos: position{line: 2645, col: 5, offset: 86160}, exprs: []interface{}{ &labeledExpr{ - pos: position{line: 2938, col: 5, offset: 94404}, - label: "name", - expr: &actionExpr{ - pos: position{line: 2961, col: 18, offset: 95169}, - run: (*parser).callonUserMacroBlock4, - expr: &oneOrMoreExpr{ - pos: position{line: 2961, col: 19, offset: 95170}, - expr: &charClassMatcher{ - pos: position{line: 2961, col: 19, offset: 95170}, - val: "[_-0-9\\pL]", - chars: []rune{'_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2939, col: 5, offset: 94430}, - run: (*parser).callonUserMacroBlock7, - }, - &litMatcher{ - pos: position{line: 2943, col: 5, offset: 94570}, - val: "::", - ignoreCase: false, - want: "\"::\"", - }, - &labeledExpr{ - pos: position{line: 2944, col: 5, offset: 94580}, - label: "value", - expr: &actionExpr{ - pos: position{line: 2965, col: 19, offset: 95245}, - run: (*parser).callonUserMacroBlock10, - expr: &zeroOrMoreExpr{ - pos: position{line: 2965, col: 19, offset: 95245}, - expr: &charClassMatcher{ - pos: position{line: 2965, col: 19, offset: 95245}, - val: "[^:[ \\r\\n]", - chars: []rune{':', '[', ' ', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + pos: position{line: 2645, col: 5, offset: 86160}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 2645, col: 14, offset: 86169}, + expr: &ruleRefExpr{ + pos: position{line: 2645, col: 15, offset: 86170}, + name: "HeaderGroupElement", }, }, }, - &labeledExpr{ - pos: position{line: 2945, col: 5, offset: 94608}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 2945, col: 17, offset: 94620}, - name: "InlineAttributes", - }, - }, - &choiceExpr{ - pos: position{line: 3081, col: 8, offset: 98660}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3074, col: 12, offset: 98520}, - run: (*parser).callonUserMacroBlock16, - expr: &choiceExpr{ - pos: position{line: 3074, col: 13, offset: 98521}, - alternatives: []interface{}{ - &litMatcher{ - pos: position{line: 3074, col: 13, offset: 98521}, - val: "\n", - ignoreCase: false, - want: "\"\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 20, offset: 98528}, - val: "\r\n", - ignoreCase: false, - want: "\"\\r\\n\"", - }, - &litMatcher{ - pos: position{line: 3074, col: 29, offset: 98537}, - val: "\r", - ignoreCase: false, - want: "\"\\r\"", - }, - }, - }, - }, - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, @@ -69921,6685 +69454,11671 @@ var g = &grammar{ }, }, { - name: "InlineUserMacro", - pos: position{line: 2949, col: 1, offset: 94768}, + name: "HeaderGroupElement", + pos: position{line: 2649, col: 1, offset: 86254}, expr: &actionExpr{ - pos: position{line: 2950, col: 5, offset: 94792}, - run: (*parser).callonInlineUserMacro1, + pos: position{line: 2650, col: 5, offset: 86280}, + run: (*parser).callonHeaderGroupElement1, expr: &seqExpr{ - pos: position{line: 2950, col: 5, offset: 94792}, + pos: position{line: 2650, col: 5, offset: 86280}, exprs: []interface{}{ - &labeledExpr{ - pos: position{line: 2950, col: 5, offset: 94792}, - label: "name", - expr: &actionExpr{ - pos: position{line: 2961, col: 18, offset: 95169}, - run: (*parser).callonInlineUserMacro4, - expr: &oneOrMoreExpr{ - pos: position{line: 2961, col: 19, offset: 95170}, - expr: &charClassMatcher{ - pos: position{line: 2961, col: 19, offset: 95170}, - val: "[_-0-9\\pL]", - chars: []rune{'_', '-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - &andCodeExpr{ - pos: position{line: 2951, col: 5, offset: 94818}, - run: (*parser).callonInlineUserMacro7, - }, - &litMatcher{ - pos: position{line: 2955, col: 5, offset: 94958}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 2956, col: 5, offset: 94967}, - label: "value", - expr: &actionExpr{ - pos: position{line: 2965, col: 19, offset: 95245}, - run: (*parser).callonInlineUserMacro10, - expr: &zeroOrMoreExpr{ - pos: position{line: 2965, col: 19, offset: 95245}, - expr: &charClassMatcher{ - pos: position{line: 2965, col: 19, offset: 95245}, - val: "[^:[ \\r\\n]", - chars: []rune{':', '[', ' ', '\r', '\n'}, - ignoreCase: false, - inverted: true, - }, + ¬Expr{ + pos: position{line: 2650, col: 5, offset: 86280}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, }, &labeledExpr{ - pos: position{line: 2957, col: 5, offset: 94995}, - label: "attributes", - expr: &ruleRefExpr{ - pos: position{line: 2957, col: 17, offset: 95007}, - name: "InlineAttributes", - }, - }, - }, - }, - }, - }, - { - name: "FileLocation", - pos: position{line: 3021, col: 1, offset: 96938}, - expr: &actionExpr{ - pos: position{line: 3021, col: 17, offset: 96954}, - run: (*parser).callonFileLocation1, - expr: &labeledExpr{ - pos: position{line: 3021, col: 17, offset: 96954}, - label: "path", - expr: &oneOrMoreExpr{ - pos: position{line: 3021, col: 22, offset: 96959}, - expr: &choiceExpr{ - pos: position{line: 3021, col: 23, offset: 96960}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, - run: (*parser).callonFileLocation5, - expr: &seqExpr{ - pos: position{line: 3036, col: 5, offset: 97416}, - exprs: []interface{}{ - ¬Expr{ - pos: position{line: 3036, col: 5, offset: 97416}, - expr: &litMatcher{ - pos: position{line: 3036, col: 6, offset: 97417}, - val: "[", - ignoreCase: false, - want: "\"[\"", + pos: position{line: 2651, col: 5, offset: 86289}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2652, col: 9, offset: 86307}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + run: (*parser).callonHeaderGroupElement8, + expr: &seqExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3015, col: 5, offset: 96861}, + expr: &charClassMatcher{ + pos: position{line: 3015, col: 5, offset: 96861}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, - }, - &labeledExpr{ - pos: position{line: 3037, col: 5, offset: 97441}, - label: "elements", - expr: &oneOrMoreExpr{ - pos: position{line: 3037, col: 14, offset: 97450}, + &andExpr{ + pos: position{line: 3015, col: 15, offset: 96871}, expr: &choiceExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, + pos: position{line: 3015, col: 17, offset: 96873}, alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, - run: (*parser).callonFileLocation12, - expr: &oneOrMoreExpr{ - pos: position{line: 3038, col: 9, offset: 97460}, - expr: &charClassMatcher{ - pos: position{line: 3038, col: 10, offset: 97461}, - val: "[^\\r\\n[]�{.,;?!<> ]", - chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, - ignoreCase: false, - inverted: true, - }, + &charClassMatcher{ + pos: position{line: 3015, col: 17, offset: 96873}, + val: "[\\r\\n ,]]", + chars: []rune{'\r', '\n', ' ', ',', ']'}, + ignoreCase: false, + inverted: false, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, }, }, - &seqExpr{ - pos: position{line: 3041, col: 11, offset: 97726}, - exprs: []interface{}{ - &actionExpr{ - pos: position{line: 3004, col: 25, offset: 96603}, - run: (*parser).callonFileLocation16, - expr: &charClassMatcher{ - pos: position{line: 3004, col: 25, offset: 96603}, - val: "[.,;?!]", - chars: []rune{'.', ',', ';', '?', '!'}, - ignoreCase: false, - inverted: false, - }, - }, - &andExpr{ - pos: position{line: 3041, col: 32, offset: 97747}, - expr: ¬Expr{ - pos: position{line: 3041, col: 34, offset: 97749}, - expr: &choiceExpr{ - pos: position{line: 3041, col: 36, offset: 97751}, - alternatives: []interface{}{ - ¬Expr{ - pos: position{line: 3078, col: 8, offset: 98610}, - expr: &anyMatcher{ - line: 3078, col: 9, offset: 98611, - }, - }, - &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonFileLocation23, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + run: (*parser).callonHeaderGroupElement17, + expr: &seqExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 3017, col: 9, offset: 96955}, + expr: &charClassMatcher{ + pos: position{line: 3017, col: 9, offset: 96955}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3017, col: 19, offset: 96965}, + expr: &seqExpr{ + pos: position{line: 3017, col: 20, offset: 96966}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3017, col: 20, offset: 96966}, + val: "[=*_`]", + chars: []rune{'=', '*', '_', '`'}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 3017, col: 27, offset: 96973}, + expr: &charClassMatcher{ + pos: position{line: 3017, col: 27, offset: 96973}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, - &actionExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonFileLocation25, - expr: &seqExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 630, col: 5, offset: 20018}, - run: (*parser).callonFileLocation27, - }, - &labeledExpr{ - pos: position{line: 633, col: 5, offset: 20090}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 633, col: 14, offset: 20099}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - run: (*parser).callonFileLocation30, - expr: &seqExpr{ - pos: position{line: 652, col: 25, offset: 20703}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 652, col: 25, offset: 20703}, - val: "{counter:", + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2653, col: 12, offset: 86323}, + run: (*parser).callonHeaderGroupElement26, + expr: &seqExpr{ + pos: position{line: 2653, col: 12, offset: 86323}, + exprs: []interface{}{ + &oneOrMoreExpr{ + pos: position{line: 2653, col: 12, offset: 86323}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonHeaderGroupElement29, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2653, col: 19, offset: 86330}, + label: "id", + expr: &actionExpr{ + pos: position{line: 394, col: 5, offset: 12146}, + run: (*parser).callonHeaderGroupElement32, + expr: &seqExpr{ + pos: position{line: 394, col: 5, offset: 12146}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 394, col: 5, offset: 12146}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 395, col: 5, offset: 12156}, + label: "id", + expr: &actionExpr{ + pos: position{line: 396, col: 9, offset: 12169}, + run: (*parser).callonHeaderGroupElement36, + expr: &labeledExpr{ + pos: position{line: 396, col: 9, offset: 12169}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 396, col: 18, offset: 12178}, + expr: &choiceExpr{ + pos: position{line: 397, col: 13, offset: 12192}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 397, col: 14, offset: 12193}, + run: (*parser).callonHeaderGroupElement40, + expr: &oneOrMoreExpr{ + pos: position{line: 397, col: 14, offset: 12193}, + expr: &charClassMatcher{ + pos: position{line: 397, col: 14, offset: 12193}, + val: "[^=\\r\\n�{]]", + chars: []rune{'=', '\r', '\n', '�', '{', ']'}, ignoreCase: false, - want: "\"{counter:\"", + inverted: true, }, - &labeledExpr{ - pos: position{line: 652, col: 37, offset: 20715}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonFileLocation34, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, + }, + }, + &actionExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + run: (*parser).callonHeaderGroupElement43, + expr: &seqExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1222, col: 51, offset: 37823}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + run: (*parser).callonHeaderGroupElement47, + expr: &oneOrMoreExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + expr: &charClassMatcher{ + pos: position{line: 1222, col: 56, offset: 37828}, + val: "[0-9]", ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, inverted: false, }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, - }, - &labeledExpr{ - pos: position{line: 652, col: 56, offset: 20734}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 652, col: 62, offset: 20740}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonFileLocation41, - expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonFileLocation46, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, - }, - }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonFileLocation48, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - }, - }, - }, + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", }, }, - &litMatcher{ - pos: position{line: 652, col: 78, offset: 20756}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, - }, - &actionExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - run: (*parser).callonFileLocation52, - expr: &seqExpr{ - pos: position{line: 656, col: 25, offset: 20874}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 656, col: 25, offset: 20874}, - val: "{counter2:", - ignoreCase: false, - want: "\"{counter2:\"", - }, - &labeledExpr{ - pos: position{line: 656, col: 38, offset: 20887}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonFileLocation56, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonHeaderGroupElement51, + expr: &seqExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonHeaderGroupElement53, }, - }, - &labeledExpr{ - pos: position{line: 656, col: 57, offset: 20906}, - label: "start", - expr: &zeroOrOneExpr{ - pos: position{line: 656, col: 63, offset: 20912}, - expr: &actionExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - run: (*parser).callonFileLocation63, - expr: &seqExpr{ - pos: position{line: 660, col: 17, offset: 21035}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 660, col: 17, offset: 21035}, - val: ":", - ignoreCase: false, - want: "\":\"", - }, - &labeledExpr{ - pos: position{line: 660, col: 21, offset: 21039}, - label: "start", - expr: &choiceExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 660, col: 28, offset: 21046}, - run: (*parser).callonFileLocation68, - expr: &charClassMatcher{ - pos: position{line: 660, col: 28, offset: 21046}, - val: "[A-Za-z]", - ranges: []rune{'A', 'Z', 'a', 'z'}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 633, col: 5, offset: 20090}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 633, col: 14, offset: 20099}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + run: (*parser).callonHeaderGroupElement56, + expr: &seqExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 25, offset: 20703}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 37, offset: 20715}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement60, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, }, }, - &actionExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - run: (*parser).callonFileLocation70, - expr: &oneOrMoreExpr{ - pos: position{line: 662, col: 9, offset: 21100}, - expr: &charClassMatcher{ - pos: position{line: 662, col: 9, offset: 21100}, - val: "[0-9]", - ranges: []rune{'0', '9'}, - ignoreCase: false, - inverted: false, + }, + &labeledExpr{ + pos: position{line: 652, col: 56, offset: 20734}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 652, col: 62, offset: 20740}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonHeaderGroupElement67, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonHeaderGroupElement72, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonHeaderGroupElement74, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, }, }, }, }, + &litMatcher{ + pos: position{line: 652, col: 78, offset: 20756}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 656, col: 79, offset: 20928}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonFileLocation74, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonFileLocation78, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonFileLocation84, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonFileLocation88, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, - }, - }, - }, - &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, - }, - }, - }, - }, - }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonFileLocation94, - expr: &seqExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - exprs: []interface{}{ - &andCodeExpr{ - pos: position{line: 2691, col: 5, offset: 87247}, - run: (*parser).callonFileLocation96, - }, - &labeledExpr{ - pos: position{line: 2694, col: 5, offset: 87323}, - label: "element", - expr: &choiceExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 2696, col: 9, offset: 87421}, - run: (*parser).callonFileLocation99, - expr: &choiceExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - run: (*parser).callonFileLocation101, - expr: &seqExpr{ - pos: position{line: 680, col: 27, offset: 21754}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 680, col: 27, offset: 21754}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 32, offset: 21759}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonFileLocation105, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, - }, - }, - }, - }, - &zeroOrMoreExpr{ - pos: position{line: 680, col: 40, offset: 21767}, - expr: &actionExpr{ - pos: position{line: 3065, col: 10, offset: 98336}, - run: (*parser).callonFileLocation109, - expr: &charClassMatcher{ - pos: position{line: 3065, col: 11, offset: 98337}, - val: "[ \\t]", - chars: []rune{' ', '\t'}, - ignoreCase: false, - inverted: false, - }, - }, - }, - &litMatcher{ - pos: position{line: 680, col: 47, offset: 21774}, - val: ",", - ignoreCase: false, - want: "\",\"", - }, - &labeledExpr{ - pos: position{line: 680, col: 51, offset: 21778}, - label: "label", - expr: &oneOrMoreExpr{ - pos: position{line: 690, col: 24, offset: 22179}, - expr: &choiceExpr{ - pos: position{line: 691, col: 5, offset: 22185}, - alternatives: []interface{}{ - &actionExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - run: (*parser).callonFileLocation115, - expr: &seqExpr{ - pos: position{line: 691, col: 6, offset: 22186}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 691, col: 6, offset: 22186}, - val: "[0-9\\pL]", - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &oneOrMoreExpr{ - pos: position{line: 691, col: 14, offset: 22194}, - expr: &charClassMatcher{ - pos: position{line: 691, col: 14, offset: 22194}, - val: "[^\\r\\n{<>]", - chars: []rune{'\r', '\n', '{', '<', '>'}, + &actionExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + run: (*parser).callonHeaderGroupElement78, + expr: &seqExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 25, offset: 20874}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 38, offset: 20887}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement82, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, ignoreCase: false, - inverted: true, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, }, }, }, }, }, - &actionExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - run: (*parser).callonFileLocation120, - expr: &seqExpr{ - pos: position{line: 639, col: 5, offset: 20228}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 639, col: 5, offset: 20228}, - val: "\\{", - ignoreCase: false, - want: "\"\\\\{\"", - }, - &labeledExpr{ - pos: position{line: 639, col: 13, offset: 20236}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonFileLocation124, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, + &labeledExpr{ + pos: position{line: 656, col: 57, offset: 20906}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 656, col: 63, offset: 20912}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonHeaderGroupElement89, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonHeaderGroupElement94, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonHeaderGroupElement96, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, }, }, }, }, }, }, - &litMatcher{ - pos: position{line: 639, col: 32, offset: 20255}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - run: (*parser).callonFileLocation130, - expr: &seqExpr{ - pos: position{line: 646, col: 5, offset: 20496}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 646, col: 5, offset: 20496}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, - &labeledExpr{ - pos: position{line: 646, col: 9, offset: 20500}, - label: "name", - expr: &actionExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - run: (*parser).callonFileLocation134, - expr: &seqExpr{ - pos: position{line: 310, col: 18, offset: 9654}, - exprs: []interface{}{ - &charClassMatcher{ - pos: position{line: 310, col: 18, offset: 9654}, - val: "[_0-9\\pL]", - chars: []rune{'_'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - &zeroOrMoreExpr{ - pos: position{line: 310, col: 28, offset: 9664}, - expr: &charClassMatcher{ - pos: position{line: 310, col: 29, offset: 9665}, - val: "[-0-9\\pL]", - chars: []rune{'-'}, - ranges: []rune{'0', '9'}, - classes: []*unicode.RangeTable{rangeTable("L")}, - ignoreCase: false, - inverted: false, - }, - }, - }, + &litMatcher{ + pos: position{line: 656, col: 79, offset: 20928}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonHeaderGroupElement100, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement104, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, }, }, }, - &litMatcher{ - pos: position{line: 646, col: 28, offset: 20519}, - val: "}", - ignoreCase: false, - want: "\"}\"", - }, }, }, }, - &actionExpr{ - pos: position{line: 695, col: 8, offset: 22420}, - run: (*parser).callonFileLocation140, - expr: &litMatcher{ - pos: position{line: 695, col: 8, offset: 22420}, - val: "{", - ignoreCase: false, - want: "\"{\"", - }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", }, }, }, }, - }, - &litMatcher{ - pos: position{line: 680, col: 79, offset: 21806}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 682, col: 9, offset: 21879}, - run: (*parser).callonFileLocation143, - expr: &seqExpr{ - pos: position{line: 682, col: 9, offset: 21879}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 682, col: 9, offset: 21879}, - val: "<<", - ignoreCase: false, - want: "\"<<\"", - }, - &labeledExpr{ - pos: position{line: 682, col: 14, offset: 21884}, - label: "id", - expr: &actionExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - run: (*parser).callonFileLocation147, - expr: &oneOrMoreExpr{ - pos: position{line: 3050, col: 7, offset: 97988}, - expr: &charClassMatcher{ - pos: position{line: 3050, col: 7, offset: 97988}, - val: "[^[]<>,]", - chars: []rune{'[', ']', '<', '>', ','}, - ignoreCase: false, - inverted: true, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonHeaderGroupElement110, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement114, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, }, }, }, }, - &litMatcher{ - pos: position{line: 682, col: 22, offset: 21892}, - val: ">>", - ignoreCase: false, - want: "\">>\"", - }, }, }, }, }, }, + &actionExpr{ + pos: position{line: 402, col: 16, offset: 12426}, + run: (*parser).callonHeaderGroupElement120, + expr: &litMatcher{ + pos: position{line: 402, col: 16, offset: 12426}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, }, - &actionExpr{ - pos: position{line: 2699, col: 11, offset: 87525}, - run: (*parser).callonFileLocation151, - expr: &charClassMatcher{ - pos: position{line: 2699, col: 12, offset: 87526}, - val: "[<>&]", - chars: []rune{'<', '>', '&'}, - ignoreCase: false, - inverted: false, - }, - }, }, }, }, }, }, - }, - &actionExpr{ - pos: position{line: 3044, col: 11, offset: 97832}, - run: (*parser).callonFileLocation153, - expr: &litMatcher{ - pos: position{line: 3044, col: 11, offset: 97832}, - val: "{", + &litMatcher{ + pos: position{line: 408, col: 5, offset: 12612}, + val: "]]", ignoreCase: false, - want: "\"{\"", + want: "\"]]\"", }, }, }, }, }, - }, - }, - }, - }, - &actionExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - run: (*parser).callonFileLocation155, - expr: &seqExpr{ - pos: position{line: 1222, col: 23, offset: 37795}, - exprs: []interface{}{ - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", - }, - &labeledExpr{ - pos: position{line: 1222, col: 51, offset: 37823}, - label: "ref", - expr: &actionExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, - run: (*parser).callonFileLocation159, - expr: &oneOrMoreExpr{ - pos: position{line: 1222, col: 56, offset: 37828}, + &zeroOrMoreExpr{ + pos: position{line: 2653, col: 40, offset: 86351}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonHeaderGroupElement124, expr: &charClassMatcher{ - pos: position{line: 1222, col: 56, offset: 37828}, - val: "[0-9]", - ranges: []rune{'0', '9'}, + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, ignoreCase: false, inverted: false, }, }, }, - }, - &litMatcher{ - pos: position{line: 1220, col: 32, offset: 37763}, - val: "�", - ignoreCase: false, - want: "\"�\"", + &andExpr{ + pos: position{line: 2653, col: 47, offset: 86358}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, }, }, }, - }, - }, - }, - }, - }, - }, - }, - }, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonHeaderGroupElement129, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &ruleRefExpr{ + pos: position{line: 2655, col: 11, offset: 86431}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2656, col: 11, offset: 86459}, + name: "Quote", + }, + &ruleRefExpr{ + pos: position{line: 2657, col: 11, offset: 86475}, + name: "Link", + }, + &actionExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + run: (*parser).callonHeaderGroupElement134, + expr: &seqExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2711, col: 5, offset: 87922}, + run: (*parser).callonHeaderGroupElement136, + }, + &labeledExpr{ + pos: position{line: 2714, col: 5, offset: 87993}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + run: (*parser).callonHeaderGroupElement139, + expr: &seqExpr{ + pos: position{line: 2753, col: 5, offset: 89277}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 2753, col: 5, offset: 89277}, + val: "\\", + ignoreCase: false, + want: "\"\\\\\"", + }, + &choiceExpr{ + pos: position{line: 2753, col: 10, offset: 89282}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonHeaderGroupElement143, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonHeaderGroupElement145, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonHeaderGroupElement147, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonHeaderGroupElement149, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonHeaderGroupElement151, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonHeaderGroupElement153, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonHeaderGroupElement155, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonHeaderGroupElement157, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonHeaderGroupElement159, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonHeaderGroupElement161, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonHeaderGroupElement163, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonHeaderGroupElement166, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonHeaderGroupElement170, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonHeaderGroupElement177, + expr: &seqExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonHeaderGroupElement179, + }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonHeaderGroupElement184, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonHeaderGroupElement191, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonHeaderGroupElement193, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonHeaderGroupElement195, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2762, col: 5, offset: 89735}, + run: (*parser).callonHeaderGroupElement197, + expr: &litMatcher{ + pos: position{line: 2762, col: 5, offset: 89735}, + val: "\"`", + ignoreCase: false, + want: "\"\\\"`\"", + }, + }, + &actionExpr{ + pos: position{line: 2765, col: 7, offset: 89793}, + run: (*parser).callonHeaderGroupElement199, + expr: &litMatcher{ + pos: position{line: 2765, col: 7, offset: 89793}, + val: "`\"", + ignoreCase: false, + want: "\"`\\\"\"", + }, + }, + &actionExpr{ + pos: position{line: 2768, col: 7, offset: 89851}, + run: (*parser).callonHeaderGroupElement201, + expr: &litMatcher{ + pos: position{line: 2768, col: 7, offset: 89851}, + val: "'`", + ignoreCase: false, + want: "\"'`\"", + }, + }, + &actionExpr{ + pos: position{line: 2771, col: 7, offset: 89907}, + run: (*parser).callonHeaderGroupElement203, + expr: &litMatcher{ + pos: position{line: 2771, col: 7, offset: 89907}, + val: "`'", + ignoreCase: false, + want: "\"`'\"", + }, + }, + &actionExpr{ + pos: position{line: 2777, col: 14, offset: 90029}, + run: (*parser).callonHeaderGroupElement205, + expr: &litMatcher{ + pos: position{line: 2777, col: 14, offset: 90029}, + val: "(C)", + ignoreCase: false, + want: "\"(C)\"", + }, + }, + &actionExpr{ + pos: position{line: 2781, col: 14, offset: 90095}, + run: (*parser).callonHeaderGroupElement207, + expr: &litMatcher{ + pos: position{line: 2781, col: 14, offset: 90095}, + val: "(TM)", + ignoreCase: false, + want: "\"(TM)\"", + }, + }, + &actionExpr{ + pos: position{line: 2785, col: 15, offset: 90164}, + run: (*parser).callonHeaderGroupElement209, + expr: &litMatcher{ + pos: position{line: 2785, col: 15, offset: 90164}, + val: "(R)", + ignoreCase: false, + want: "\"(R)\"", + }, + }, + &actionExpr{ + pos: position{line: 2789, col: 13, offset: 90229}, + run: (*parser).callonHeaderGroupElement211, + expr: &litMatcher{ + pos: position{line: 2789, col: 13, offset: 90229}, + val: "...", + ignoreCase: false, + want: "\"...\"", + }, + }, + &actionExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonHeaderGroupElement213, + expr: &seqExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2796, col: 5, offset: 90386}, + run: (*parser).callonHeaderGroupElement215, + }, + &litMatcher{ + pos: position{line: 2799, col: 5, offset: 90442}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &choiceExpr{ + pos: position{line: 2799, col: 11, offset: 90448}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonHeaderGroupElement218, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 2799, col: 19, offset: 90456}, + expr: &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonHeaderGroupElement222, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonHeaderGroupElement229, + expr: &seqExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2804, col: 5, offset: 90577}, + run: (*parser).callonHeaderGroupElement231, + }, + &litMatcher{ + pos: position{line: 2807, col: 5, offset: 90636}, + val: "--", + ignoreCase: false, + want: "\"--\"", + }, + &andExpr{ + pos: position{line: 2807, col: 10, offset: 90641}, + expr: &choiceExpr{ + pos: position{line: 2807, col: 12, offset: 90643}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonHeaderGroupElement236, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2812, col: 21, offset: 90730}, + run: (*parser).callonHeaderGroupElement243, + expr: &litMatcher{ + pos: position{line: 2812, col: 21, offset: 90730}, + val: "->", + ignoreCase: false, + want: "\"->\"", + }, + }, + &actionExpr{ + pos: position{line: 2816, col: 20, offset: 90800}, + run: (*parser).callonHeaderGroupElement245, + expr: &litMatcher{ + pos: position{line: 2816, col: 20, offset: 90800}, + val: "<-", + ignoreCase: false, + want: "\"<-\"", + }, + }, + &actionExpr{ + pos: position{line: 2820, col: 21, offset: 90871}, + run: (*parser).callonHeaderGroupElement247, + expr: &litMatcher{ + pos: position{line: 2820, col: 21, offset: 90871}, + val: "=>", + ignoreCase: false, + want: "\"=>\"", + }, + }, + &actionExpr{ + pos: position{line: 2824, col: 20, offset: 90941}, + run: (*parser).callonHeaderGroupElement249, + expr: &litMatcher{ + pos: position{line: 2824, col: 20, offset: 90941}, + val: "<=", + ignoreCase: false, + want: "\"<=\"", + }, + }, + &actionExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + run: (*parser).callonHeaderGroupElement251, + expr: &seqExpr{ + pos: position{line: 2835, col: 5, offset: 91249}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2835, col: 14, offset: 91258}, + val: "\\'", + ignoreCase: false, + want: "\"\\\\'\"", + }, + &andExpr{ + pos: position{line: 2835, col: 19, offset: 91263}, + expr: &charClassMatcher{ + pos: position{line: 2835, col: 20, offset: 91264}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + run: (*parser).callonHeaderGroupElement257, + expr: &seqExpr{ + pos: position{line: 2841, col: 5, offset: 91495}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &litMatcher{ + pos: position{line: 2841, col: 14, offset: 91504}, + val: "'", + ignoreCase: false, + want: "\"'\"", + }, + &andExpr{ + pos: position{line: 2841, col: 18, offset: 91508}, + expr: &charClassMatcher{ + pos: position{line: 2841, col: 19, offset: 91509}, + val: "[\\pL]", + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonHeaderGroupElement263, + expr: &seqExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonHeaderGroupElement265, + }, + &labeledExpr{ + pos: position{line: 2725, col: 5, offset: 88224}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + run: (*parser).callonHeaderGroupElement268, + expr: &choiceExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + run: (*parser).callonHeaderGroupElement270, + expr: &seqExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 680, col: 27, offset: 21754}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 32, offset: 21759}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonHeaderGroupElement274, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 680, col: 40, offset: 21767}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonHeaderGroupElement278, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 680, col: 47, offset: 21774}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 51, offset: 21778}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 690, col: 24, offset: 22179}, + expr: &choiceExpr{ + pos: position{line: 691, col: 5, offset: 22185}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + run: (*parser).callonHeaderGroupElement284, + expr: &seqExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 691, col: 6, offset: 22186}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 691, col: 14, offset: 22194}, + expr: &charClassMatcher{ + pos: position{line: 691, col: 14, offset: 22194}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonHeaderGroupElement289, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement293, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonHeaderGroupElement299, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement303, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 695, col: 8, offset: 22420}, + run: (*parser).callonHeaderGroupElement309, + expr: &litMatcher{ + pos: position{line: 695, col: 8, offset: 22420}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 680, col: 79, offset: 21806}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + run: (*parser).callonHeaderGroupElement312, + expr: &seqExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 682, col: 9, offset: 21879}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 682, col: 14, offset: 21884}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonHeaderGroupElement316, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 682, col: 22, offset: 21892}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2730, col: 11, offset: 88426}, + run: (*parser).callonHeaderGroupElement320, + expr: &charClassMatcher{ + pos: position{line: 2730, col: 12, offset: 88427}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2660, col: 11, offset: 86582}, + name: "InlineIcon", + }, + &actionExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonHeaderGroupElement323, + expr: &seqExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonHeaderGroupElement325, + }, + &labeledExpr{ + pos: position{line: 633, col: 5, offset: 20090}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 633, col: 14, offset: 20099}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + run: (*parser).callonHeaderGroupElement328, + expr: &seqExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 25, offset: 20703}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 37, offset: 20715}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement332, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 652, col: 56, offset: 20734}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 652, col: 62, offset: 20740}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonHeaderGroupElement339, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonHeaderGroupElement344, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonHeaderGroupElement346, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 78, offset: 20756}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + run: (*parser).callonHeaderGroupElement350, + expr: &seqExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 25, offset: 20874}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 38, offset: 20887}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement354, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 656, col: 57, offset: 20906}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 656, col: 63, offset: 20912}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonHeaderGroupElement361, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonHeaderGroupElement366, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonHeaderGroupElement368, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 656, col: 79, offset: 20928}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonHeaderGroupElement372, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement376, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonHeaderGroupElement382, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonHeaderGroupElement386, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + run: (*parser).callonHeaderGroupElement392, + expr: &seqExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1222, col: 51, offset: 37823}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + run: (*parser).callonHeaderGroupElement396, + expr: &oneOrMoreExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + expr: &charClassMatcher{ + pos: position{line: 1222, col: 56, offset: 37828}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1301, col: 5, offset: 40300}, + run: (*parser).callonHeaderGroupElement400, + expr: &seqExpr{ + pos: position{line: 1301, col: 5, offset: 40300}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1301, col: 5, offset: 40300}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", + }, + &labeledExpr{ + pos: position{line: 1301, col: 14, offset: 40309}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonHeaderGroupElement404, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1301, col: 22, offset: 40317}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1307, col: 5, offset: 40503}, + run: (*parser).callonHeaderGroupElement408, + expr: &seqExpr{ + pos: position{line: 1307, col: 5, offset: 40503}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1307, col: 5, offset: 40503}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1307, col: 10, offset: 40508}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonHeaderGroupElement412, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1307, col: 18, offset: 40516}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2664, col: 11, offset: 86805}, + name: "InlineFootnote", + }, + &actionExpr{ + pos: position{line: 3040, col: 12, offset: 97653}, + run: (*parser).callonHeaderGroupElement417, + expr: &charClassMatcher{ + pos: position{line: 3040, col: 12, offset: 97653}, + val: "[^\\r\\n]", + chars: []rune{'\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineMacro", + pos: position{line: 2669, col: 1, offset: 86884}, + expr: &actionExpr{ + pos: position{line: 2671, col: 5, offset: 86966}, + run: (*parser).callonInlineMacro1, + expr: &seqExpr{ + pos: position{line: 2671, col: 5, offset: 86966}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2671, col: 5, offset: 86966}, + run: (*parser).callonInlineMacro3, + }, + &labeledExpr{ + pos: position{line: 2674, col: 5, offset: 87031}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2675, col: 9, offset: 87049}, + alternatives: []interface{}{ + &ruleRefExpr{ + pos: position{line: 2675, col: 9, offset: 87049}, + name: "InlineIcon", + }, + &ruleRefExpr{ + pos: position{line: 2676, col: 11, offset: 87070}, + name: "InlineImage", + }, + &ruleRefExpr{ + pos: position{line: 2677, col: 11, offset: 87093}, + name: "Link", + }, + &ruleRefExpr{ + pos: position{line: 2678, col: 11, offset: 87109}, + name: "InlinePassthrough", + }, + &ruleRefExpr{ + pos: position{line: 2679, col: 11, offset: 87138}, + name: "InlineFootnote", + }, + &ruleRefExpr{ + pos: position{line: 2680, col: 11, offset: 87164}, + name: "CrossReference", + }, + &ruleRefExpr{ + pos: position{line: 2681, col: 11, offset: 87190}, + name: "InlineUserMacro", + }, + &actionExpr{ + pos: position{line: 1301, col: 5, offset: 40300}, + run: (*parser).callonInlineMacro13, + expr: &seqExpr{ + pos: position{line: 1301, col: 5, offset: 40300}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1301, col: 5, offset: 40300}, + val: "\\[[", + ignoreCase: false, + want: "\"\\\\[[\"", + }, + &labeledExpr{ + pos: position{line: 1301, col: 14, offset: 40309}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonInlineMacro17, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1301, col: 22, offset: 40317}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1307, col: 5, offset: 40503}, + run: (*parser).callonInlineMacro21, + expr: &seqExpr{ + pos: position{line: 1307, col: 5, offset: 40503}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1307, col: 5, offset: 40503}, + val: "[[", + ignoreCase: false, + want: "\"[[\"", + }, + &labeledExpr{ + pos: position{line: 1307, col: 10, offset: 40508}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonInlineMacro25, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1307, col: 18, offset: 40516}, + val: "]]", + ignoreCase: false, + want: "\"]]\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1346, col: 23, offset: 41987}, + run: (*parser).callonInlineMacro29, + expr: &seqExpr{ + pos: position{line: 1346, col: 23, offset: 41987}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1346, col: 23, offset: 41987}, + val: "(((", + ignoreCase: false, + want: "\"(((\"", + }, + &labeledExpr{ + pos: position{line: 1346, col: 29, offset: 41993}, + label: "term1", + expr: &actionExpr{ + pos: position{line: 1353, col: 30, offset: 42324}, + run: (*parser).callonInlineMacro33, + expr: &oneOrMoreExpr{ + pos: position{line: 1353, col: 30, offset: 42324}, + expr: &choiceExpr{ + pos: position{line: 1353, col: 31, offset: 42325}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineMacro37, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1347, col: 5, offset: 42032}, + label: "term2", + expr: &zeroOrOneExpr{ + pos: position{line: 1347, col: 11, offset: 42038}, + expr: &actionExpr{ + pos: position{line: 1347, col: 12, offset: 42039}, + run: (*parser).callonInlineMacro41, + expr: &seqExpr{ + pos: position{line: 1347, col: 12, offset: 42039}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1347, col: 12, offset: 42039}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineMacro44, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1347, col: 19, offset: 42046}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1347, col: 23, offset: 42050}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineMacro48, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1347, col: 30, offset: 42057}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1353, col: 30, offset: 42324}, + run: (*parser).callonInlineMacro51, + expr: &oneOrMoreExpr{ + pos: position{line: 1353, col: 30, offset: 42324}, + expr: &choiceExpr{ + pos: position{line: 1353, col: 31, offset: 42325}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineMacro55, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1348, col: 5, offset: 42124}, + label: "term3", + expr: &zeroOrOneExpr{ + pos: position{line: 1348, col: 11, offset: 42130}, + expr: &actionExpr{ + pos: position{line: 1348, col: 12, offset: 42131}, + run: (*parser).callonInlineMacro59, + expr: &seqExpr{ + pos: position{line: 1348, col: 12, offset: 42131}, + exprs: []interface{}{ + &zeroOrMoreExpr{ + pos: position{line: 1348, col: 12, offset: 42131}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineMacro62, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1348, col: 19, offset: 42138}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &zeroOrMoreExpr{ + pos: position{line: 1348, col: 23, offset: 42142}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineMacro66, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &labeledExpr{ + pos: position{line: 1348, col: 30, offset: 42149}, + label: "content", + expr: &actionExpr{ + pos: position{line: 1353, col: 30, offset: 42324}, + run: (*parser).callonInlineMacro69, + expr: &oneOrMoreExpr{ + pos: position{line: 1353, col: 30, offset: 42324}, + expr: &choiceExpr{ + pos: position{line: 1353, col: 31, offset: 42325}, + alternatives: []interface{}{ + &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlineMacro73, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1349, col: 5, offset: 42216}, + val: ")))", + ignoreCase: false, + want: "\")))\"", + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2684, col: 11, offset: 87269}, + name: "IndexTerm", + }, + &ruleRefExpr{ + pos: position{line: 2685, col: 11, offset: 87289}, + name: "InlineButton", + }, + &ruleRefExpr{ + pos: position{line: 2686, col: 11, offset: 87312}, + name: "InlineMenu", + }, + &ruleRefExpr{ + pos: position{line: 2687, col: 11, offset: 87333}, + name: "InlineUserMacro", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlinePassthrough", + pos: position{line: 2691, col: 1, offset: 87395}, + expr: &actionExpr{ + pos: position{line: 2693, col: 5, offset: 87483}, + run: (*parser).callonInlinePassthrough1, + expr: &seqExpr{ + pos: position{line: 2693, col: 5, offset: 87483}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2693, col: 5, offset: 87483}, + run: (*parser).callonInlinePassthrough3, + }, + &labeledExpr{ + pos: position{line: 2696, col: 5, offset: 87560}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2697, col: 9, offset: 87578}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1416, col: 26, offset: 45217}, + run: (*parser).callonInlinePassthrough6, + expr: &seqExpr{ + pos: position{line: 1416, col: 26, offset: 45217}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1414, col: 32, offset: 45185}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + &labeledExpr{ + pos: position{line: 1416, col: 54, offset: 45245}, + label: "content", + expr: &choiceExpr{ + pos: position{line: 1420, col: 33, offset: 45458}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1420, col: 34, offset: 45459}, + run: (*parser).callonInlinePassthrough11, + expr: &zeroOrMoreExpr{ + pos: position{line: 1420, col: 34, offset: 45459}, + expr: &seqExpr{ + pos: position{line: 1420, col: 35, offset: 45460}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1420, col: 35, offset: 45460}, + expr: &litMatcher{ + pos: position{line: 1414, col: 32, offset: 45185}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + }, + &anyMatcher{ + line: 1420, col: 64, offset: 45489, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1422, col: 11, offset: 45662}, + run: (*parser).callonInlinePassthrough17, + expr: &zeroOrOneExpr{ + pos: position{line: 1422, col: 11, offset: 45662}, + expr: &seqExpr{ + pos: position{line: 1422, col: 12, offset: 45663}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1422, col: 12, offset: 45663}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlinePassthrough21, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1422, col: 19, offset: 45670}, + expr: &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlinePassthrough24, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1422, col: 28, offset: 45679}, + expr: &litMatcher{ + pos: position{line: 1414, col: 32, offset: 45185}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + }, + &anyMatcher{ + line: 1422, col: 57, offset: 45708, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1414, col: 32, offset: 45185}, + val: "+++", + ignoreCase: false, + want: "\"+++\"", + }, + ¬Expr{ + pos: position{line: 1416, col: 121, offset: 45312}, + expr: &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1404, col: 26, offset: 44500}, + run: (*parser).callonInlinePassthrough35, + expr: &seqExpr{ + pos: position{line: 1404, col: 26, offset: 44500}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1402, col: 32, offset: 44470}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + &labeledExpr{ + pos: position{line: 1404, col: 54, offset: 44528}, + label: "content", + expr: &choiceExpr{ + pos: position{line: 1408, col: 33, offset: 44741}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 1408, col: 34, offset: 44742}, + run: (*parser).callonInlinePassthrough40, + expr: &seqExpr{ + pos: position{line: 1408, col: 34, offset: 44742}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1408, col: 35, offset: 44743}, + expr: &litMatcher{ + pos: position{line: 1402, col: 32, offset: 44470}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + ¬Expr{ + pos: position{line: 1408, col: 64, offset: 44772}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlinePassthrough45, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1408, col: 71, offset: 44779}, + expr: &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlinePassthrough48, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1408, col: 80, offset: 44788, + }, + &zeroOrMoreExpr{ + pos: position{line: 1408, col: 83, offset: 44791}, + expr: &seqExpr{ + pos: position{line: 1408, col: 84, offset: 44792}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1408, col: 84, offset: 44792}, + expr: &seqExpr{ + pos: position{line: 1408, col: 86, offset: 44794}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + run: (*parser).callonInlinePassthrough58, + expr: &oneOrMoreExpr{ + pos: position{line: 3100, col: 11, offset: 99304}, + expr: &charClassMatcher{ + pos: position{line: 3100, col: 12, offset: 99305}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 1402, col: 32, offset: 44470}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1408, col: 122, offset: 44830}, + expr: &litMatcher{ + pos: position{line: 1402, col: 32, offset: 44470}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + ¬Expr{ + pos: position{line: 1408, col: 151, offset: 44859}, + expr: &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlinePassthrough65, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + &anyMatcher{ + line: 1408, col: 160, offset: 44868, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1410, col: 11, offset: 45018}, + run: (*parser).callonInlinePassthrough71, + expr: &seqExpr{ + pos: position{line: 1410, col: 12, offset: 45019}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 1410, col: 12, offset: 45019}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonInlinePassthrough74, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + ¬Expr{ + pos: position{line: 1410, col: 19, offset: 45026}, + expr: &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonInlinePassthrough77, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 1410, col: 28, offset: 45035}, + expr: &litMatcher{ + pos: position{line: 1402, col: 32, offset: 44470}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + }, + &anyMatcher{ + line: 1410, col: 57, offset: 45064, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1402, col: 32, offset: 44470}, + val: "+", + ignoreCase: false, + want: "\"+\"", + }, + ¬Expr{ + pos: position{line: 1404, col: 121, offset: 44595}, + expr: &charClassMatcher{ + pos: position{line: 3003, col: 13, offset: 96406}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &ruleRefExpr{ + pos: position{line: 2697, col: 57, offset: 87626}, + name: "PassthroughMacro", + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "Quote", + pos: position{line: 2702, col: 1, offset: 87686}, + expr: &seqExpr{ + pos: position{line: 2704, col: 5, offset: 87762}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2704, col: 5, offset: 87762}, + run: (*parser).callonQuote2, + }, + &ruleRefExpr{ + pos: position{line: 2707, col: 5, offset: 87827}, + name: "QuotedText", + }, + }, + }, + }, + { + name: "TableColumnsAttribute", + pos: position{line: 2918, col: 1, offset: 93464}, + expr: &actionExpr{ + pos: position{line: 2918, col: 26, offset: 93489}, + run: (*parser).callonTableColumnsAttribute1, + expr: &seqExpr{ + pos: position{line: 2918, col: 26, offset: 93489}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2918, col: 26, offset: 93489}, + label: "cols", + expr: &zeroOrMoreExpr{ + pos: position{line: 2918, col: 31, offset: 93494}, + expr: &actionExpr{ + pos: position{line: 2923, col: 5, offset: 93557}, + run: (*parser).callonTableColumnsAttribute5, + expr: &seqExpr{ + pos: position{line: 2923, col: 5, offset: 93557}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 2923, col: 5, offset: 93557}, + expr: ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2926, col: 5, offset: 93681}, + label: "multiplier", + expr: &zeroOrOneExpr{ + pos: position{line: 2926, col: 16, offset: 93692}, + expr: &actionExpr{ + pos: position{line: 2926, col: 17, offset: 93693}, + run: (*parser).callonTableColumnsAttribute12, + expr: &seqExpr{ + pos: position{line: 2926, col: 17, offset: 93693}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2926, col: 17, offset: 93693}, + label: "n", + expr: &actionExpr{ + pos: position{line: 3088, col: 12, offset: 99064}, + run: (*parser).callonTableColumnsAttribute15, + expr: &seqExpr{ + pos: position{line: 3088, col: 13, offset: 99065}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3088, col: 13, offset: 99065}, + expr: &litMatcher{ + pos: position{line: 3088, col: 13, offset: 99065}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3088, col: 18, offset: 99070}, + expr: &charClassMatcher{ + pos: position{line: 3088, col: 18, offset: 99070}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 2926, col: 27, offset: 93703}, + val: "*", + ignoreCase: false, + want: "\"*\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2927, col: 5, offset: 93731}, + label: "halign", + expr: &zeroOrOneExpr{ + pos: position{line: 2927, col: 12, offset: 93738}, + expr: &choiceExpr{ + pos: position{line: 2928, col: 9, offset: 93748}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2928, col: 9, offset: 93748}, + run: (*parser).callonTableColumnsAttribute25, + expr: &litMatcher{ + pos: position{line: 2928, col: 9, offset: 93748}, + val: "<", + ignoreCase: false, + want: "\"<\"", + }, + }, + &actionExpr{ + pos: position{line: 2929, col: 11, offset: 93795}, + run: (*parser).callonTableColumnsAttribute27, + expr: &litMatcher{ + pos: position{line: 2929, col: 11, offset: 93795}, + val: ">", + ignoreCase: false, + want: "\">\"", + }, + }, + &actionExpr{ + pos: position{line: 2930, col: 11, offset: 93843}, + run: (*parser).callonTableColumnsAttribute29, + expr: &litMatcher{ + pos: position{line: 2930, col: 11, offset: 93843}, + val: "^", + ignoreCase: false, + want: "\"^\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2932, col: 5, offset: 93893}, + label: "valign", + expr: &zeroOrOneExpr{ + pos: position{line: 2932, col: 12, offset: 93900}, + expr: &choiceExpr{ + pos: position{line: 2933, col: 9, offset: 93910}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2933, col: 9, offset: 93910}, + run: (*parser).callonTableColumnsAttribute34, + expr: &litMatcher{ + pos: position{line: 2933, col: 9, offset: 93910}, + val: ".<", + ignoreCase: false, + want: "\".<\"", + }, + }, + &actionExpr{ + pos: position{line: 2934, col: 11, offset: 93957}, + run: (*parser).callonTableColumnsAttribute36, + expr: &litMatcher{ + pos: position{line: 2934, col: 11, offset: 93957}, + val: ".>", + ignoreCase: false, + want: "\".>\"", + }, + }, + &actionExpr{ + pos: position{line: 2935, col: 11, offset: 94007}, + run: (*parser).callonTableColumnsAttribute38, + expr: &litMatcher{ + pos: position{line: 2935, col: 11, offset: 94007}, + val: ".^", + ignoreCase: false, + want: "\".^\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2937, col: 5, offset: 94058}, + label: "weight", + expr: &zeroOrOneExpr{ + pos: position{line: 2937, col: 12, offset: 94065}, + expr: &choiceExpr{ + pos: position{line: 2937, col: 13, offset: 94066}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3088, col: 12, offset: 99064}, + run: (*parser).callonTableColumnsAttribute43, + expr: &seqExpr{ + pos: position{line: 3088, col: 13, offset: 99065}, + exprs: []interface{}{ + &zeroOrOneExpr{ + pos: position{line: 3088, col: 13, offset: 99065}, + expr: &litMatcher{ + pos: position{line: 3088, col: 13, offset: 99065}, + val: "-", + ignoreCase: false, + want: "\"-\"", + }, + }, + &oneOrMoreExpr{ + pos: position{line: 3088, col: 18, offset: 99070}, + expr: &charClassMatcher{ + pos: position{line: 3088, col: 18, offset: 99070}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2937, col: 24, offset: 94077}, + run: (*parser).callonTableColumnsAttribute49, + expr: &litMatcher{ + pos: position{line: 2937, col: 24, offset: 94077}, + val: "~", + ignoreCase: false, + want: "\"~\"", + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2938, col: 5, offset: 94119}, + label: "style", + expr: &zeroOrOneExpr{ + pos: position{line: 2938, col: 11, offset: 94125}, + expr: &actionExpr{ + pos: position{line: 2938, col: 12, offset: 94126}, + run: (*parser).callonTableColumnsAttribute53, + expr: &charClassMatcher{ + pos: position{line: 2938, col: 12, offset: 94126}, + val: "[adehlms]", + chars: []rune{'a', 'd', 'e', 'h', 'l', 'm', 's'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2940, col: 5, offset: 94256}, + label: "comma", + expr: &zeroOrOneExpr{ + pos: position{line: 2940, col: 11, offset: 94262}, + expr: &litMatcher{ + pos: position{line: 2940, col: 12, offset: 94263}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2941, col: 5, offset: 94273}, + run: (*parser).callonTableColumnsAttribute58, + }, + }, + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + { + name: "UserMacroBlock", + pos: position{line: 2968, col: 1, offset: 95282}, + expr: &actionExpr{ + pos: position{line: 2969, col: 5, offset: 95305}, + run: (*parser).callonUserMacroBlock1, + expr: &seqExpr{ + pos: position{line: 2969, col: 5, offset: 95305}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2969, col: 5, offset: 95305}, + label: "name", + expr: &actionExpr{ + pos: position{line: 2992, col: 18, offset: 96070}, + run: (*parser).callonUserMacroBlock4, + expr: &oneOrMoreExpr{ + pos: position{line: 2992, col: 19, offset: 96071}, + expr: &charClassMatcher{ + pos: position{line: 2992, col: 19, offset: 96071}, + val: "[_-0-9\\pL]", + chars: []rune{'_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2970, col: 5, offset: 95331}, + run: (*parser).callonUserMacroBlock7, + }, + &litMatcher{ + pos: position{line: 2974, col: 5, offset: 95471}, + val: "::", + ignoreCase: false, + want: "\"::\"", + }, + &labeledExpr{ + pos: position{line: 2975, col: 5, offset: 95481}, + label: "value", + expr: &actionExpr{ + pos: position{line: 2996, col: 19, offset: 96146}, + run: (*parser).callonUserMacroBlock10, + expr: &zeroOrMoreExpr{ + pos: position{line: 2996, col: 19, offset: 96146}, + expr: &charClassMatcher{ + pos: position{line: 2996, col: 19, offset: 96146}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2976, col: 5, offset: 95509}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 2976, col: 17, offset: 95521}, + name: "InlineAttributes", + }, + }, + &choiceExpr{ + pos: position{line: 3112, col: 8, offset: 99561}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3105, col: 12, offset: 99421}, + run: (*parser).callonUserMacroBlock16, + expr: &choiceExpr{ + pos: position{line: 3105, col: 13, offset: 99422}, + alternatives: []interface{}{ + &litMatcher{ + pos: position{line: 3105, col: 13, offset: 99422}, + val: "\n", + ignoreCase: false, + want: "\"\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 20, offset: 99429}, + val: "\r\n", + ignoreCase: false, + want: "\"\\r\\n\"", + }, + &litMatcher{ + pos: position{line: 3105, col: 29, offset: 99438}, + val: "\r", + ignoreCase: false, + want: "\"\\r\"", + }, + }, + }, + }, + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + }, + }, + }, + }, + }, + }, + { + name: "InlineUserMacro", + pos: position{line: 2980, col: 1, offset: 95669}, + expr: &actionExpr{ + pos: position{line: 2981, col: 5, offset: 95693}, + run: (*parser).callonInlineUserMacro1, + expr: &seqExpr{ + pos: position{line: 2981, col: 5, offset: 95693}, + exprs: []interface{}{ + &labeledExpr{ + pos: position{line: 2981, col: 5, offset: 95693}, + label: "name", + expr: &actionExpr{ + pos: position{line: 2992, col: 18, offset: 96070}, + run: (*parser).callonInlineUserMacro4, + expr: &oneOrMoreExpr{ + pos: position{line: 2992, col: 19, offset: 96071}, + expr: &charClassMatcher{ + pos: position{line: 2992, col: 19, offset: 96071}, + val: "[_-0-9\\pL]", + chars: []rune{'_', '-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &andCodeExpr{ + pos: position{line: 2982, col: 5, offset: 95719}, + run: (*parser).callonInlineUserMacro7, + }, + &litMatcher{ + pos: position{line: 2986, col: 5, offset: 95859}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 2987, col: 5, offset: 95868}, + label: "value", + expr: &actionExpr{ + pos: position{line: 2996, col: 19, offset: 96146}, + run: (*parser).callonInlineUserMacro10, + expr: &zeroOrMoreExpr{ + pos: position{line: 2996, col: 19, offset: 96146}, + expr: &charClassMatcher{ + pos: position{line: 2996, col: 19, offset: 96146}, + val: "[^:[ \\r\\n]", + chars: []rune{':', '[', ' ', '\r', '\n'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 2988, col: 5, offset: 95896}, + label: "attributes", + expr: &ruleRefExpr{ + pos: position{line: 2988, col: 17, offset: 95908}, + name: "InlineAttributes", + }, + }, + }, + }, + }, + }, + { + name: "FileLocation", + pos: position{line: 3052, col: 1, offset: 97839}, + expr: &actionExpr{ + pos: position{line: 3052, col: 17, offset: 97855}, + run: (*parser).callonFileLocation1, + expr: &labeledExpr{ + pos: position{line: 3052, col: 17, offset: 97855}, + label: "path", + expr: &oneOrMoreExpr{ + pos: position{line: 3052, col: 22, offset: 97860}, + expr: &choiceExpr{ + pos: position{line: 3052, col: 23, offset: 97861}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3067, col: 5, offset: 98317}, + run: (*parser).callonFileLocation5, + expr: &seqExpr{ + pos: position{line: 3067, col: 5, offset: 98317}, + exprs: []interface{}{ + ¬Expr{ + pos: position{line: 3067, col: 5, offset: 98317}, + expr: &litMatcher{ + pos: position{line: 3067, col: 6, offset: 98318}, + val: "[", + ignoreCase: false, + want: "\"[\"", + }, + }, + &labeledExpr{ + pos: position{line: 3068, col: 5, offset: 98342}, + label: "elements", + expr: &oneOrMoreExpr{ + pos: position{line: 3068, col: 14, offset: 98351}, + expr: &choiceExpr{ + pos: position{line: 3069, col: 9, offset: 98361}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 3069, col: 9, offset: 98361}, + run: (*parser).callonFileLocation12, + expr: &oneOrMoreExpr{ + pos: position{line: 3069, col: 9, offset: 98361}, + expr: &charClassMatcher{ + pos: position{line: 3069, col: 10, offset: 98362}, + val: "[^\\r\\n[]�{.,;?!<> ]", + chars: []rune{'\r', '\n', '[', ']', '�', '{', '.', ',', ';', '?', '!', '<', '>', ' '}, + ignoreCase: false, + inverted: true, + }, + }, + }, + &seqExpr{ + pos: position{line: 3072, col: 11, offset: 98627}, + exprs: []interface{}{ + &actionExpr{ + pos: position{line: 3035, col: 25, offset: 97504}, + run: (*parser).callonFileLocation16, + expr: &charClassMatcher{ + pos: position{line: 3035, col: 25, offset: 97504}, + val: "[.,;?!]", + chars: []rune{'.', ',', ';', '?', '!'}, + ignoreCase: false, + inverted: false, + }, + }, + &andExpr{ + pos: position{line: 3072, col: 32, offset: 98648}, + expr: ¬Expr{ + pos: position{line: 3072, col: 34, offset: 98650}, + expr: &choiceExpr{ + pos: position{line: 3072, col: 36, offset: 98652}, + alternatives: []interface{}{ + ¬Expr{ + pos: position{line: 3109, col: 8, offset: 99511}, + expr: &anyMatcher{ + line: 3109, col: 9, offset: 99512, + }, + }, + &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonFileLocation23, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonFileLocation25, + expr: &seqExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 630, col: 5, offset: 20018}, + run: (*parser).callonFileLocation27, + }, + &labeledExpr{ + pos: position{line: 633, col: 5, offset: 20090}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 633, col: 14, offset: 20099}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + run: (*parser).callonFileLocation30, + expr: &seqExpr{ + pos: position{line: 652, col: 25, offset: 20703}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 652, col: 25, offset: 20703}, + val: "{counter:", + ignoreCase: false, + want: "\"{counter:\"", + }, + &labeledExpr{ + pos: position{line: 652, col: 37, offset: 20715}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonFileLocation34, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 652, col: 56, offset: 20734}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 652, col: 62, offset: 20740}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonFileLocation41, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonFileLocation46, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonFileLocation48, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 652, col: 78, offset: 20756}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + run: (*parser).callonFileLocation52, + expr: &seqExpr{ + pos: position{line: 656, col: 25, offset: 20874}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 656, col: 25, offset: 20874}, + val: "{counter2:", + ignoreCase: false, + want: "\"{counter2:\"", + }, + &labeledExpr{ + pos: position{line: 656, col: 38, offset: 20887}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonFileLocation56, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &labeledExpr{ + pos: position{line: 656, col: 57, offset: 20906}, + label: "start", + expr: &zeroOrOneExpr{ + pos: position{line: 656, col: 63, offset: 20912}, + expr: &actionExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + run: (*parser).callonFileLocation63, + expr: &seqExpr{ + pos: position{line: 660, col: 17, offset: 21035}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 660, col: 17, offset: 21035}, + val: ":", + ignoreCase: false, + want: "\":\"", + }, + &labeledExpr{ + pos: position{line: 660, col: 21, offset: 21039}, + label: "start", + expr: &choiceExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 660, col: 28, offset: 21046}, + run: (*parser).callonFileLocation68, + expr: &charClassMatcher{ + pos: position{line: 660, col: 28, offset: 21046}, + val: "[A-Za-z]", + ranges: []rune{'A', 'Z', 'a', 'z'}, + ignoreCase: false, + inverted: false, + }, + }, + &actionExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + run: (*parser).callonFileLocation70, + expr: &oneOrMoreExpr{ + pos: position{line: 662, col: 9, offset: 21100}, + expr: &charClassMatcher{ + pos: position{line: 662, col: 9, offset: 21100}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 656, col: 79, offset: 20928}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonFileLocation74, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonFileLocation78, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonFileLocation84, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonFileLocation88, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonFileLocation94, + expr: &seqExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + exprs: []interface{}{ + &andCodeExpr{ + pos: position{line: 2722, col: 5, offset: 88148}, + run: (*parser).callonFileLocation96, + }, + &labeledExpr{ + pos: position{line: 2725, col: 5, offset: 88224}, + label: "element", + expr: &choiceExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 2727, col: 9, offset: 88322}, + run: (*parser).callonFileLocation99, + expr: &choiceExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + run: (*parser).callonFileLocation101, + expr: &seqExpr{ + pos: position{line: 680, col: 27, offset: 21754}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 680, col: 27, offset: 21754}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 32, offset: 21759}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonFileLocation105, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &zeroOrMoreExpr{ + pos: position{line: 680, col: 40, offset: 21767}, + expr: &actionExpr{ + pos: position{line: 3096, col: 10, offset: 99237}, + run: (*parser).callonFileLocation109, + expr: &charClassMatcher{ + pos: position{line: 3096, col: 11, offset: 99238}, + val: "[ \\t]", + chars: []rune{' ', '\t'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + &litMatcher{ + pos: position{line: 680, col: 47, offset: 21774}, + val: ",", + ignoreCase: false, + want: "\",\"", + }, + &labeledExpr{ + pos: position{line: 680, col: 51, offset: 21778}, + label: "label", + expr: &oneOrMoreExpr{ + pos: position{line: 690, col: 24, offset: 22179}, + expr: &choiceExpr{ + pos: position{line: 691, col: 5, offset: 22185}, + alternatives: []interface{}{ + &actionExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + run: (*parser).callonFileLocation115, + expr: &seqExpr{ + pos: position{line: 691, col: 6, offset: 22186}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 691, col: 6, offset: 22186}, + val: "[0-9\\pL]", + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &oneOrMoreExpr{ + pos: position{line: 691, col: 14, offset: 22194}, + expr: &charClassMatcher{ + pos: position{line: 691, col: 14, offset: 22194}, + val: "[^\\r\\n{<>]", + chars: []rune{'\r', '\n', '{', '<', '>'}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + run: (*parser).callonFileLocation120, + expr: &seqExpr{ + pos: position{line: 639, col: 5, offset: 20228}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 639, col: 5, offset: 20228}, + val: "\\{", + ignoreCase: false, + want: "\"\\\\{\"", + }, + &labeledExpr{ + pos: position{line: 639, col: 13, offset: 20236}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonFileLocation124, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 639, col: 32, offset: 20255}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + run: (*parser).callonFileLocation130, + expr: &seqExpr{ + pos: position{line: 646, col: 5, offset: 20496}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 646, col: 5, offset: 20496}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + &labeledExpr{ + pos: position{line: 646, col: 9, offset: 20500}, + label: "name", + expr: &actionExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + run: (*parser).callonFileLocation134, + expr: &seqExpr{ + pos: position{line: 310, col: 18, offset: 9654}, + exprs: []interface{}{ + &charClassMatcher{ + pos: position{line: 310, col: 18, offset: 9654}, + val: "[_0-9\\pL]", + chars: []rune{'_'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + &zeroOrMoreExpr{ + pos: position{line: 310, col: 28, offset: 9664}, + expr: &charClassMatcher{ + pos: position{line: 310, col: 29, offset: 9665}, + val: "[-0-9\\pL]", + chars: []rune{'-'}, + ranges: []rune{'0', '9'}, + classes: []*unicode.RangeTable{rangeTable("L")}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 646, col: 28, offset: 20519}, + val: "}", + ignoreCase: false, + want: "\"}\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 695, col: 8, offset: 22420}, + run: (*parser).callonFileLocation140, + expr: &litMatcher{ + pos: position{line: 695, col: 8, offset: 22420}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 680, col: 79, offset: 21806}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + run: (*parser).callonFileLocation143, + expr: &seqExpr{ + pos: position{line: 682, col: 9, offset: 21879}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 682, col: 9, offset: 21879}, + val: "<<", + ignoreCase: false, + want: "\"<<\"", + }, + &labeledExpr{ + pos: position{line: 682, col: 14, offset: 21884}, + label: "id", + expr: &actionExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + run: (*parser).callonFileLocation147, + expr: &oneOrMoreExpr{ + pos: position{line: 3081, col: 7, offset: 98889}, + expr: &charClassMatcher{ + pos: position{line: 3081, col: 7, offset: 98889}, + val: "[^[]<>,]", + chars: []rune{'[', ']', '<', '>', ','}, + ignoreCase: false, + inverted: true, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 682, col: 22, offset: 21892}, + val: ">>", + ignoreCase: false, + want: "\">>\"", + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 2730, col: 11, offset: 88426}, + run: (*parser).callonFileLocation151, + expr: &charClassMatcher{ + pos: position{line: 2730, col: 12, offset: 88427}, + val: "[<>&]", + chars: []rune{'<', '>', '&'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 3075, col: 11, offset: 98733}, + run: (*parser).callonFileLocation153, + expr: &litMatcher{ + pos: position{line: 3075, col: 11, offset: 98733}, + val: "{", + ignoreCase: false, + want: "\"{\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + &actionExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + run: (*parser).callonFileLocation155, + expr: &seqExpr{ + pos: position{line: 1222, col: 23, offset: 37795}, + exprs: []interface{}{ + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + &labeledExpr{ + pos: position{line: 1222, col: 51, offset: 37823}, + label: "ref", + expr: &actionExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + run: (*parser).callonFileLocation159, + expr: &oneOrMoreExpr{ + pos: position{line: 1222, col: 56, offset: 37828}, + expr: &charClassMatcher{ + pos: position{line: 1222, col: 56, offset: 37828}, + val: "[0-9]", + ranges: []rune{'0', '9'}, + ignoreCase: false, + inverted: false, + }, + }, + }, + }, + &litMatcher{ + pos: position{line: 1220, col: 32, offset: 37763}, + val: "�", + ignoreCase: false, + want: "\"�\"", + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, + }, +} + +func (c *current) onDocumentRawLine10() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine10() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine10() +} + +func (c *current) onDocumentRawLine17() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine17() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine17() +} + +func (c *current) onDocumentRawLine20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine20() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine20() +} + +func (c *current) onDocumentRawLine6(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine6(stack["name"]) +} + +func (c *current) onDocumentRawLine31() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine31() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine31() +} + +func (c *current) onDocumentRawLine38() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine38() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine38() +} + +func (c *current) onDocumentRawLine41() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine41() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine41() +} + +func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine27() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine27(stack["name"]) +} + +func (c *current) onDocumentRawLine53() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine53() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine53() +} + +func (c *current) onDocumentRawLine59() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine59() +} + +func (c *current) onDocumentRawLine64() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine64() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine64() +} + +func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { + return types.NewIfdefCondition(name.(string), attr) + +} + +func (p *parser) callonDocumentRawLine49() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) +} + +func (c *current) onDocumentRawLine72() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine72() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine72() +} + +func (c *current) onDocumentRawLine78() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine78() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine78() +} + +func (c *current) onDocumentRawLine83() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine83() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine83() +} + +func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { + return types.NewIfndefCondition(name.(string), attr) + +} + +func (p *parser) callonDocumentRawLine68() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) +} + +func (c *current) onDocumentRawLine101() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine101() +} + +func (c *current) onDocumentRawLine97(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine97() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine97(stack["name"]) +} + +func (c *current) onDocumentRawLine111() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine111() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine111() +} + +func (c *current) onDocumentRawLine107(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine107() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine107(stack["name"]) +} + +func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine92() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine92(stack["s"]) +} + +func (c *current) onDocumentRawLine127() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine127() +} + +func (c *current) onDocumentRawLine123(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine123() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine123(stack["name"]) +} + +func (c *current) onDocumentRawLine137() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine137() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine137() +} + +func (c *current) onDocumentRawLine133(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine133() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine133(stack["name"]) +} + +func (c *current) onDocumentRawLine118(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine118() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine118(stack["s"]) +} + +func (c *current) onDocumentRawLine151() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine151() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine151() +} + +func (c *current) onDocumentRawLine147(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine147(stack["name"]) +} + +func (c *current) onDocumentRawLine161() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine161() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine161() +} + +func (c *current) onDocumentRawLine157(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine157() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine157(stack["name"]) +} + +func (c *current) onDocumentRawLine144(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine144() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine144(stack["s"]) +} + +func (c *current) onDocumentRawLine171() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine171() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine171() +} + +func (c *current) onDocumentRawLine167(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine167(stack["w"]) +} + +func (c *current) onDocumentRawLine179() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine179() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine179() +} + +func (c *current) onDocumentRawLine175(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine175() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine175(stack["w"]) +} + +func (c *current) onDocumentRawLine183() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDocumentRawLine183() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine183() +} + +func (c *current) onDocumentRawLine190() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine190() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine190() +} + +func (c *current) onDocumentRawLine194() (interface{}, error) { + return types.NewEqualOperand() + +} + +func (p *parser) callonDocumentRawLine194() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine194() +} + +func (c *current) onDocumentRawLine196() (interface{}, error) { + return types.NewNotEqualOperand() + +} + +func (p *parser) callonDocumentRawLine196() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine196() +} + +func (c *current) onDocumentRawLine198() (interface{}, error) { + return types.NewLessThanOperand() + +} + +func (p *parser) callonDocumentRawLine198() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine198() +} + +func (c *current) onDocumentRawLine200() (interface{}, error) { + return types.NewLessOrEqualOperand() + +} + +func (p *parser) callonDocumentRawLine200() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine200() +} + +func (c *current) onDocumentRawLine202() (interface{}, error) { + return types.NewGreaterThanOperand() + +} + +func (p *parser) callonDocumentRawLine202() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine202() +} + +func (c *current) onDocumentRawLine204() (interface{}, error) { + return types.NewGreaterOrEqualOperand() + +} + +func (p *parser) callonDocumentRawLine204() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine204() +} + +func (c *current) onDocumentRawLine207() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine207() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine207() +} + +func (c *current) onDocumentRawLine220() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine220() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine220() +} + +func (c *current) onDocumentRawLine216(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine216() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine216(stack["name"]) +} + +func (c *current) onDocumentRawLine230() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine230() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine230() +} + +func (c *current) onDocumentRawLine226(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine226() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine226(stack["name"]) +} + +func (c *current) onDocumentRawLine211(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine211() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine211(stack["s"]) +} + +func (c *current) onDocumentRawLine246() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine246() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine246() +} + +func (c *current) onDocumentRawLine242(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine242() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine242(stack["name"]) +} + +func (c *current) onDocumentRawLine256() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine256() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine256() +} + +func (c *current) onDocumentRawLine252(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine252() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine252(stack["name"]) +} + +func (c *current) onDocumentRawLine237(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine237() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine237(stack["s"]) +} + +func (c *current) onDocumentRawLine270() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine270() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine270() +} + +func (c *current) onDocumentRawLine266(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonDocumentRawLine266() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine266(stack["name"]) +} + +func (c *current) onDocumentRawLine280() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine280() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine280() +} + +func (c *current) onDocumentRawLine276(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine276() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine276(stack["name"]) +} + +func (c *current) onDocumentRawLine263(s interface{}) (interface{}, error) { + return s, nil +} + +func (p *parser) callonDocumentRawLine263() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine263(stack["s"]) +} + +func (c *current) onDocumentRawLine290() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine290() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine290() +} + +func (c *current) onDocumentRawLine286(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine286() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine286(stack["w"]) +} + +func (c *current) onDocumentRawLine298() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine298() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine298() +} + +func (c *current) onDocumentRawLine294(w interface{}) (interface{}, error) { + return w, nil +} + +func (p *parser) callonDocumentRawLine294() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine294(stack["w"]) +} + +func (c *current) onDocumentRawLine302() (interface{}, error) { + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonDocumentRawLine302() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine302() +} + +func (c *current) onDocumentRawLine310() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine310() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine310() +} + +func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { + return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) + +} + +func (p *parser) callonDocumentRawLine87() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) +} + +func (c *current) onDocumentRawLine319() (interface{}, error) { + + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine319() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine319() +} + +func (c *current) onDocumentRawLine325() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine325() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine325() +} + +func (c *current) onDocumentRawLine330() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine330() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine330() +} + +func (c *current) onDocumentRawLine314(name, attr interface{}) (interface{}, error) { + return types.NewEndOfCondition() // name and attributes are parsed but ignored + +} + +func (p *parser) callonDocumentRawLine314() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine314(stack["name"], stack["attr"]) +} + +func (c *current) onDocumentRawLine343() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine343() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine343() +} + +func (c *current) onDocumentRawLine349() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine349() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine349() +} + +func (c *current) onDocumentRawLine352() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine352() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine352() +} + +func (c *current) onDocumentRawLine340(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine340() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine340(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine362() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine362() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine362() +} + +func (c *current) onDocumentRawLine368() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine368() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine368() +} + +func (c *current) onDocumentRawLine371() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine371() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine371() +} + +func (c *current) onDocumentRawLine359(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine359() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine359(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine382() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine382() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine382() +} + +func (c *current) onDocumentRawLine386() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine386() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine386() +} + +func (c *current) onDocumentRawLine389() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine389() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine389() +} + +func (c *current) onDocumentRawLine378(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} + +func (p *parser) callonDocumentRawLine378() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine378(stack["language"]) +} + +func (c *current) onDocumentRawLine399() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine399() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine399() +} + +func (c *current) onDocumentRawLine405() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine405() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine405() +} + +func (c *current) onDocumentRawLine408() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine408() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine408() +} + +func (c *current) onDocumentRawLine396(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine396() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine396(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine418() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine418() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine418() +} + +func (c *current) onDocumentRawLine424() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine424() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine424() +} + +func (c *current) onDocumentRawLine427() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine427() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine427() +} + +func (c *current) onDocumentRawLine415(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine415() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine415(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine437() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine437() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine437() +} + +func (c *current) onDocumentRawLine443() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine443() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine443() +} + +func (c *current) onDocumentRawLine446() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine446() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine446() +} + +func (c *current) onDocumentRawLine434(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine434() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine434(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine456() (interface{}, error) { + // sequence of 4 "+" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine456() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine456() +} + +func (c *current) onDocumentRawLine462() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine462() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine462() +} + +func (c *current) onDocumentRawLine465() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine465() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine465() +} + +func (c *current) onDocumentRawLine453(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine453() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine453(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine475() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine475() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine475() +} + +func (c *current) onDocumentRawLine481() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine481() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine481() +} + +func (c *current) onDocumentRawLine484() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine484() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine484() +} + +func (c *current) onDocumentRawLine472(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine472() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine472(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine494() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine494() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine494() +} + +func (c *current) onDocumentRawLine500() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine500() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine500() +} + +func (c *current) onDocumentRawLine503() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentRawLine503() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine503() +} + +func (c *current) onDocumentRawLine491(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + +} + +func (p *parser) callonDocumentRawLine491() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine491(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine334(delimiter interface{}) (interface{}, error) { + return delimiter, nil + +} + +func (p *parser) callonDocumentRawLine334() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine334(stack["delimiter"]) +} + +func (c *current) onDocumentRawLine512() (bool, error) { + // should only be enabled when reading files to include, not the main (root) file + return c.isSectionEnabled(), nil + +} + +func (p *parser) callonDocumentRawLine512() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine512() +} + +func (c *current) onDocumentRawLine513() (bool, error) { + + return !c.isWithinDelimitedBlock(), nil + +} + +func (p *parser) callonDocumentRawLine513() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine513() +} + +func (c *current) onDocumentRawLine515() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil + +} + +func (p *parser) callonDocumentRawLine515() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine515() +} + +func (c *current) onDocumentRawLine518(level interface{}) (bool, error) { + + // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed + return level.(int) <= 5, nil + +} + +func (p *parser) callonDocumentRawLine518() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine518(stack["level"]) +} + +func (c *current) onDocumentRawLine519(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + +} + +func (p *parser) callonDocumentRawLine519() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentRawLine519(stack["level"]) +} + +func (c *current) 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) onDocumentRawLine10() (interface{}, error) { +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 (p *parser) callonDocumentRawLine10() (interface{}, error) { +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.onDocumentRawLine10() + return p.cur.onFileInclusion30() } -func (c *current) onDocumentRawLine17() (interface{}, error) { +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) callonDocumentRawLine17() (interface{}, error) { +func (p *parser) callonFileInclusion41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine17() + return p.cur.onFileInclusion41() } -func (c *current) onDocumentRawLine20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onFileInclusion53() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine20() (interface{}, error) { +func (p *parser) callonFileInclusion53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine20() + return p.cur.onFileInclusion53() } -func (c *current) onDocumentRawLine6(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onFileInclusion55() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine6() (interface{}, error) { +func (p *parser) callonFileInclusion55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine6(stack["name"]) + return p.cur.onFileInclusion55() } -func (c *current) onDocumentRawLine31() (interface{}, error) { +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) callonDocumentRawLine31() (interface{}, error) { +func (p *parser) callonFileInclusion63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine31() + return p.cur.onFileInclusion63() } -func (c *current) onDocumentRawLine38() (interface{}, error) { +func (c *current) onFileInclusion75() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine38() (interface{}, error) { +func (p *parser) callonFileInclusion75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine38() + return p.cur.onFileInclusion75() +} + +func (c *current) onFileInclusion77() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + +} + +func (p *parser) callonFileInclusion77() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion77() +} + +func (c *current) onFileInclusion70(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonFileInclusion70() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion70(stack["start"]) +} + +func (c *current) onFileInclusion59(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonFileInclusion59() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion59(stack["name"], stack["start"]) +} + +func (c *current) onFileInclusion85() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion85() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion85() +} + +func (c *current) onFileInclusion81(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonFileInclusion81() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion81(stack["name"]) +} + +func (c *current) onFileInclusion95() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion95() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion95() +} + +func (c *current) onFileInclusion91(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonFileInclusion91() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion91(stack["name"]) +} + +func (c *current) onFileInclusion32(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonFileInclusion32() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion32(stack["element"]) +} + +func (c *current) onFileInclusion103() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + +} + +func (p *parser) callonFileInclusion103() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion103() +} + +func (c *current) onFileInclusion112() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion112() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion112() +} + +func (c *current) onFileInclusion116() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion116() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion116() +} + +func (c *current) onFileInclusion122() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion122() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion122() +} + +func (c *current) onFileInclusion131() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion131() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion131() +} + +func (c *current) onFileInclusion127(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonFileInclusion127() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion127(stack["name"]) +} + +func (c *current) onFileInclusion141() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion141() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion141() +} + +func (c *current) onFileInclusion137(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + +} + +func (p *parser) callonFileInclusion137() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion137(stack["name"]) +} + +func (c *current) onFileInclusion147() (interface{}, error) { + + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion147() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion147() +} + +func (c *current) onFileInclusion108(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + +} + +func (p *parser) callonFileInclusion108() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion108(stack["id"], stack["label"]) +} + +func (c *current) onFileInclusion154() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion154() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion154() +} + +func (c *current) onFileInclusion150(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) + +} + +func (p *parser) callonFileInclusion150() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion150(stack["id"]) +} + +func (c *current) onFileInclusion106() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion106() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion106() +} + +func (c *current) onFileInclusion158() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + +} + +func (p *parser) callonFileInclusion158() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion158() +} + +func (c *current) onFileInclusion101(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonFileInclusion101() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion101(stack["element"]) +} + +func (c *current) onFileInclusion160() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonFileInclusion160() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion160() +} + +func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonFileInclusion12() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion12(stack["elements"]) +} + +func (c *current) onFileInclusion166() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonFileInclusion166() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion166() +} + +func (c *current) onFileInclusion162(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) +} + +func (p *parser) callonFileInclusion162() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion162(stack["ref"]) +} + +func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) + +} + +func (p *parser) callonFileInclusion8() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion8(stack["path"]) +} + +func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { + + return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) + +} + +func (p *parser) callonFileInclusion4() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) +} + +func (c *current) onFileInclusion173() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonFileInclusion173() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion173() +} + +func (c *current) onFileInclusion176() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonFileInclusion176() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onFileInclusion176() +} + +func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { + return incl.(*types.FileInclusion), nil + } -func (c *current) onDocumentRawLine41() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), 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) callonDocumentRawLine41() (interface{}, error) { +func (p *parser) callonLineRanges9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine41() + return p.cur.onLineRanges9(stack["start"], stack["end"]) } -func (c *current) onDocumentRawLine27(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onLineRanges28() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine27() (interface{}, error) { +func (p *parser) callonLineRanges28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine27(stack["name"]) + return p.cur.onLineRanges28() } -func (c *current) onDocumentRawLine53() (interface{}, error) { - - return string(c.text), nil +func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentRawLine53() (interface{}, error) { +func (p *parser) callonLineRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine53() + return p.cur.onLineRanges26(stack["singleline"]) } -func (c *current) onDocumentRawLine59() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges44() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine59() (interface{}, error) { +func (p *parser) callonLineRanges44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine59() + return p.cur.onLineRanges44() } -func (c *current) onDocumentRawLine64() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges52() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine64() (interface{}, error) { +func (p *parser) callonLineRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine64() + return p.cur.onLineRanges52() } -func (c *current) onDocumentRawLine49(name, attr interface{}) (interface{}, error) { - return types.NewIfdefCondition(name.(string), attr) +func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { + // eg: lines=12..14 + return types.NewLineRange(start.(int), end.(int)) } -func (p *parser) callonDocumentRawLine49() (interface{}, error) { +func (p *parser) callonLineRanges41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine49(stack["name"], stack["attr"]) + return p.cur.onLineRanges41(stack["start"], stack["end"]) } -func (c *current) onDocumentRawLine72() (interface{}, error) { - - return string(c.text), nil +func (c *current) onLineRanges60() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine72() (interface{}, error) { +func (p *parser) callonLineRanges60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine72() + return p.cur.onLineRanges60() } -func (c *current) onDocumentRawLine78() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) } -func (p *parser) callonDocumentRawLine78() (interface{}, error) { +func (p *parser) callonLineRanges58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine78() + return p.cur.onLineRanges58(stack["singleline"]) } -func (c *current) onDocumentRawLine83() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges36(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentRawLine83() (interface{}, error) { +func (p *parser) callonLineRanges36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine83() + return p.cur.onLineRanges36(stack["other"]) } -func (c *current) onDocumentRawLine68(name, attr interface{}) (interface{}, error) { - return types.NewIfndefCondition(name.(string), attr) +func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonDocumentRawLine68() (interface{}, error) { +func (p *parser) callonLineRanges5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine68(stack["name"], stack["attr"]) + return p.cur.onLineRanges5(stack["first"], stack["others"]) } -func (c *current) onDocumentRawLine101() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges69() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine101() (interface{}, error) { +func (p *parser) callonLineRanges69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine101() + return p.cur.onLineRanges69() } -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 (c *current) onLineRanges77() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine97() (interface{}, error) { +func (p *parser) callonLineRanges77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine97(stack["name"]) + return p.cur.onLineRanges77() } -func (c *current) onDocumentRawLine111() (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) callonDocumentRawLine111() (interface{}, error) { +func (p *parser) callonLineRanges66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine111() + return p.cur.onLineRanges66(stack["start"], stack["end"]) } -func (c *current) onDocumentRawLine107(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onLineRanges85() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentRawLine107() (interface{}, error) { +func (p *parser) callonLineRanges85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine107(stack["name"]) + return p.cur.onLineRanges85() } -func (c *current) onDocumentRawLine92(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { + // eg: lines=12 + return types.NewLineRange(singleline.(int), singleline.(int)) + } -func (p *parser) callonDocumentRawLine92() (interface{}, error) { +func (p *parser) callonLineRanges83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine92(stack["s"]) + return p.cur.onLineRanges83(stack["singleline"]) } -func (c *current) onDocumentRawLine127() (interface{}, error) { - return string(c.text), nil +func (c *current) onLineRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil } -func (p *parser) callonDocumentRawLine127() (interface{}, error) { +func (p *parser) callonLineRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine127() + return p.cur.onLineRanges1(stack["value"]) } -func (c *current) onDocumentRawLine123(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onTagRanges11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine123() (interface{}, error) { +func (p *parser) callonTagRanges11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine123(stack["name"]) + return p.cur.onTagRanges11() } -func (c *current) onDocumentRawLine137() (interface{}, error) { +func (c *current) onTagRanges17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine137() (interface{}, error) { +func (p *parser) callonTagRanges17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine137() + return p.cur.onTagRanges17() } -func (c *current) onDocumentRawLine133(name interface{}) (interface{}, error) { +func (c *current) onTagRanges20(stars interface{}) (bool, error) { - return types.NewAttributeSubstitution(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) callonDocumentRawLine133() (interface{}, error) { +func (p *parser) callonTagRanges20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine133(stack["name"]) + return p.cur.onTagRanges20(stack["stars"]) } -func (c *current) onDocumentRawLine118(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { + return stars, nil + } -func (p *parser) callonDocumentRawLine118() (interface{}, error) { +func (p *parser) callonTagRanges14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine118(stack["s"]) + return p.cur.onTagRanges14(stack["stars"]) } -func (c *current) onDocumentRawLine151() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonDocumentRawLine151() (interface{}, error) { +func (p *parser) callonTagRanges8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine151() + return p.cur.onTagRanges8(stack["tag"]) } -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 (c *current) onTagRanges26() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine147() (interface{}, error) { +func (p *parser) callonTagRanges26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine147(stack["name"]) + return p.cur.onTagRanges26() } -func (c *current) onDocumentRawLine161() (interface{}, error) { +func (c *current) onTagRanges32() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine161() (interface{}, error) { +func (p *parser) callonTagRanges32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine161() + return p.cur.onTagRanges32() } -func (c *current) onDocumentRawLine157(name interface{}) (interface{}, error) { +func (c *current) onTagRanges35(stars interface{}) (bool, error) { - return types.NewAttributeSubstitution(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) callonDocumentRawLine157() (interface{}, error) { +func (p *parser) callonTagRanges35() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine157(stack["name"]) + return p.cur.onTagRanges35(stack["stars"]) } -func (c *current) onDocumentRawLine144(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { + return stars, nil + } -func (p *parser) callonDocumentRawLine144() (interface{}, error) { +func (p *parser) callonTagRanges29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine144(stack["s"]) + return p.cur.onTagRanges29(stack["stars"]) } -func (c *current) onDocumentRawLine171() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) + } -func (p *parser) callonDocumentRawLine171() (interface{}, error) { +func (p *parser) callonTagRanges21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine171() + return p.cur.onTagRanges21(stack["tag"]) } -func (c *current) onDocumentRawLine167(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onTagRanges46() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentRawLine167() (interface{}, error) { +func (p *parser) callonTagRanges46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine167(stack["w"]) + return p.cur.onTagRanges46() } -func (c *current) onDocumentRawLine179() (interface{}, error) { +func (c *current) onTagRanges52() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine179() (interface{}, error) { +func (p *parser) callonTagRanges52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine179() + return p.cur.onTagRanges52() } -func (c *current) onDocumentRawLine175(w interface{}) (interface{}, error) { - return w, 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) callonDocumentRawLine175() (interface{}, error) { +func (p *parser) callonTagRanges55() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine175(stack["w"]) + return p.cur.onTagRanges55(stack["stars"]) } -func (c *current) onDocumentRawLine183() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentRawLine183() (interface{}, error) { +func (p *parser) callonTagRanges49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine183() + return p.cur.onTagRanges49(stack["stars"]) } -func (c *current) onDocumentRawLine190() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), true) } -func (p *parser) callonDocumentRawLine190() (interface{}, error) { +func (p *parser) callonTagRanges43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine190() + return p.cur.onTagRanges43(stack["tag"]) } -func (c *current) onDocumentRawLine194() (interface{}, error) { - return types.NewEqualOperand() +func (c *current) onTagRanges61() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine194() (interface{}, error) { +func (p *parser) callonTagRanges61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine194() + return p.cur.onTagRanges61() } -func (c *current) onDocumentRawLine196() (interface{}, error) { - return types.NewNotEqualOperand() +func (c *current) onTagRanges67() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine196() (interface{}, error) { +func (p *parser) callonTagRanges67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine196() + return p.cur.onTagRanges67() } -func (c *current) onDocumentRawLine198() (interface{}, error) { - return types.NewLessThanOperand() +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) callonDocumentRawLine198() (interface{}, error) { +func (p *parser) callonTagRanges70() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine198() + return p.cur.onTagRanges70(stack["stars"]) } -func (c *current) onDocumentRawLine200() (interface{}, error) { - return types.NewLessOrEqualOperand() +func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { + return stars, nil } -func (p *parser) callonDocumentRawLine200() (interface{}, error) { +func (p *parser) callonTagRanges64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine200() + return p.cur.onTagRanges64(stack["stars"]) } -func (c *current) onDocumentRawLine202() (interface{}, error) { - return types.NewGreaterThanOperand() +func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { + return types.NewTagRange(tag.(string), false) } -func (p *parser) callonDocumentRawLine202() (interface{}, error) { +func (p *parser) callonTagRanges56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine202() + return p.cur.onTagRanges56(stack["tag"]) } -func (c *current) onDocumentRawLine204() (interface{}, error) { - return types.NewGreaterOrEqualOperand() +func (c *current) onTagRanges38(other interface{}) (interface{}, error) { + return other, nil } -func (p *parser) callonDocumentRawLine204() (interface{}, error) { +func (p *parser) callonTagRanges38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine204() + return p.cur.onTagRanges38(stack["other"]) } -func (c *current) onDocumentRawLine207() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { + return append([]interface{}{first}, others.([]interface{})...), nil } -func (p *parser) callonDocumentRawLine207() (interface{}, error) { +func (p *parser) callonTagRanges4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine207() + return p.cur.onTagRanges4(stack["first"], stack["others"]) } -func (c *current) onDocumentRawLine220() (interface{}, error) { - return string(c.text), nil +func (c *current) onTagRanges1(value interface{}) (interface{}, error) { + // must make sure that the whole content is parsed + return value, nil } -func (p *parser) callonDocumentRawLine220() (interface{}, error) { +func (p *parser) callonTagRanges1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine220() + return p.cur.onTagRanges1(stack["value"]) } -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 (c *current) onIncludedFileLine11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine216() (interface{}, error) { +func (p *parser) callonIncludedFileLine11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine216(stack["name"]) + return p.cur.onIncludedFileLine11() } -func (c *current) onDocumentRawLine230() (interface{}, error) { +func (c *current) onIncludedFileLine10() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentRawLine230() (interface{}, error) { +func (p *parser) callonIncludedFileLine10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine230() + return p.cur.onIncludedFileLine10() } -func (c *current) onDocumentRawLine226(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { + return types.NewIncludedFileStartTag(tag.(string)) } -func (p *parser) callonDocumentRawLine226() (interface{}, error) { +func (p *parser) callonIncludedFileLine6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine226(stack["name"]) + return p.cur.onIncludedFileLine6(stack["tag"]) } -func (c *current) onDocumentRawLine211(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onIncludedFileLine20() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentRawLine211() (interface{}, error) { +func (p *parser) callonIncludedFileLine20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine211(stack["s"]) + return p.cur.onIncludedFileLine20() } -func (c *current) onDocumentRawLine246() (interface{}, error) { +func (c *current) onIncludedFileLine19() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentRawLine246() (interface{}, error) { +func (p *parser) callonIncludedFileLine19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine246() + return p.cur.onIncludedFileLine19() } -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 (c *current) onIncludedFileLine15(tag interface{}) (interface{}, error) { + return types.NewIncludedFileEndTag(tag.(string)) } -func (p *parser) callonDocumentRawLine242() (interface{}, error) { +func (p *parser) callonIncludedFileLine15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine242(stack["name"]) + return p.cur.onIncludedFileLine15(stack["tag"]) } -func (c *current) onDocumentRawLine256() (interface{}, error) { +func (c *current) onIncludedFileLine24() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentRawLine256() (interface{}, error) { +func (p *parser) callonIncludedFileLine24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine256() + return p.cur.onIncludedFileLine24() } -func (c *current) onDocumentRawLine252(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onIncludedFileLine27() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine252() (interface{}, error) { +func (p *parser) callonIncludedFileLine27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine252(stack["name"]) + return p.cur.onIncludedFileLine27() } -func (c *current) onDocumentRawLine237(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { + return types.NewIncludedFileLine(content.([]interface{})) + } -func (p *parser) callonDocumentRawLine237() (interface{}, error) { +func (p *parser) callonIncludedFileLine1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine237(stack["s"]) + return p.cur.onIncludedFileLine1(stack["content"]) } -func (c *current) onDocumentRawLine270() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment9(attributes interface{}) error { + if attributes, ok := attributes.(types.Attributes); ok { + c.storeBlockAttributes(attributes) + } + return nil } -func (p *parser) callonDocumentRawLine270() (interface{}, error) { +func (p *parser) callonDocumentFragment9() error { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine270() + return p.cur.onDocumentFragment9(stack["attributes"]) } -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 (c *current) onDocumentFragment22() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine266() (interface{}, error) { +func (p *parser) callonDocumentFragment22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine266(stack["name"]) + return p.cur.onDocumentFragment22() } -func (c *current) onDocumentRawLine280() (interface{}, error) { +func (c *current) onDocumentFragment29() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine280() (interface{}, error) { +func (p *parser) callonDocumentFragment29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine280() + return p.cur.onDocumentFragment29() } -func (c *current) onDocumentRawLine276(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentFragment32() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentRawLine276() (interface{}, error) { +func (p *parser) callonDocumentFragment32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine276(stack["name"]) + return p.cur.onDocumentFragment32() } -func (c *current) onDocumentRawLine263(s interface{}) (interface{}, error) { - return s, nil +func (c *current) onDocumentFragment18(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + } -func (p *parser) callonDocumentRawLine263() (interface{}, error) { +func (p *parser) callonDocumentFragment18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine263(stack["s"]) + return p.cur.onDocumentFragment18(stack["name"]) } -func (c *current) onDocumentRawLine290() (interface{}, error) { +func (c *current) onDocumentFragment43() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentRawLine290() (interface{}, error) { +func (p *parser) callonDocumentFragment43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine290() + return p.cur.onDocumentFragment43() } -func (c *current) onDocumentRawLine286(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onDocumentFragment50() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentRawLine286() (interface{}, error) { +func (p *parser) callonDocumentFragment50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine286(stack["w"]) + return p.cur.onDocumentFragment50() } -func (c *current) onDocumentRawLine298() (interface{}, error) { +func (c *current) onDocumentFragment53() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine298() (interface{}, error) { +func (p *parser) callonDocumentFragment53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine298() + return p.cur.onDocumentFragment53() } -func (c *current) onDocumentRawLine294(w interface{}) (interface{}, error) { - return w, nil +func (c *current) onDocumentFragment39(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + } -func (p *parser) callonDocumentRawLine294() (interface{}, error) { +func (p *parser) callonDocumentFragment39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine294(stack["w"]) + return p.cur.onDocumentFragment39(stack["name"]) } -func (c *current) onDocumentRawLine302() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment66() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine302() (interface{}, error) { +func (p *parser) callonDocumentFragment66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine302() + return p.cur.onDocumentFragment66() } -func (c *current) onDocumentRawLine310() (interface{}, error) { +func (c *current) onDocumentFragment69() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentRawLine310() (interface{}, error) { +func (p *parser) callonDocumentFragment69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine310() + return p.cur.onDocumentFragment69() } -func (c *current) onDocumentRawLine87(left, operand, right interface{}) (interface{}, error) { - return types.NewIfevalCondition(left, right, operand.(types.IfevalOperand)) +func (c *current) onDocumentFragment60() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentRawLine87() (interface{}, error) { +func (p *parser) callonDocumentFragment60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine87(stack["left"], stack["operand"], stack["right"]) + return p.cur.onDocumentFragment60() } -func (c *current) onDocumentRawLine319() (interface{}, error) { - +func (c *current) onDocumentFragment82() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonDocumentRawLine319() (interface{}, error) { +func (p *parser) callonDocumentFragment82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine319() + return p.cur.onDocumentFragment82() } -func (c *current) onDocumentRawLine325() (interface{}, error) { +func (c *current) onDocumentFragment88() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine325() (interface{}, error) { +func (p *parser) callonDocumentFragment88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine325() + return p.cur.onDocumentFragment88() } -func (c *current) onDocumentRawLine330() (interface{}, error) { +func (c *current) onDocumentFragment91() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentRawLine330() (interface{}, error) { +func (p *parser) callonDocumentFragment91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine330() + return p.cur.onDocumentFragment91() } -func (c *current) onDocumentRawLine314(name, attr interface{}) (interface{}, error) { - return types.NewEndOfCondition() // name and attributes are parsed but ignored +func (c *current) onDocumentFragment79(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentRawLine314() (interface{}, error) { +func (p *parser) callonDocumentFragment79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine314(stack["name"], stack["attr"]) + return p.cur.onDocumentFragment79(stack["delimiter"]) } -func (c *current) onDocumentRawLine343() (interface{}, error) { +func (c *current) onDocumentFragment107() (interface{}, error) { // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonDocumentRawLine343() (interface{}, error) { +func (p *parser) callonDocumentFragment107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine343() + return p.cur.onDocumentFragment107() } -func (c *current) onDocumentRawLine349() (interface{}, error) { +func (c *current) onDocumentFragment113() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine349() (interface{}, error) { +func (p *parser) callonDocumentFragment113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine349() + return p.cur.onDocumentFragment113() } -func (c *current) onDocumentRawLine352() (interface{}, error) { +func (c *current) onDocumentFragment116() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine352() (interface{}, error) { +func (p *parser) callonDocumentFragment116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine352() + return p.cur.onDocumentFragment116() } -func (c *current) onDocumentRawLine340(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment104(delimiter interface{}) (interface{}, error) { return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentRawLine340() (interface{}, error) { +func (p *parser) callonDocumentFragment104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine340(stack["delimiter"]) + return p.cur.onDocumentFragment104(stack["delimiter"]) } -func (c *current) onDocumentRawLine362() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onDocumentFragment132() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine362() (interface{}, error) { +func (p *parser) callonDocumentFragment132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine362() + return p.cur.onDocumentFragment132() } -func (c *current) onDocumentRawLine368() (interface{}, error) { +func (c *current) onDocumentFragment136() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentRawLine368() (interface{}, error) { +func (p *parser) callonDocumentFragment136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine368() + return p.cur.onDocumentFragment136() } -func (c *current) onDocumentRawLine371() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment126(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + } -func (p *parser) callonDocumentRawLine371() (interface{}, error) { +func (p *parser) callonDocumentFragment126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine371() + return p.cur.onDocumentFragment126(stack["content"]) } -func (c *current) onDocumentRawLine359(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment100(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentRawLine359() (interface{}, error) { +func (p *parser) callonDocumentFragment100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine359(stack["delimiter"]) + return p.cur.onDocumentFragment100(stack["line"]) } -func (c *current) onDocumentRawLine382() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onDocumentFragment148() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentRawLine382() (interface{}, error) { +func (p *parser) callonDocumentFragment148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine382() + return p.cur.onDocumentFragment148() } -func (c *current) onDocumentRawLine386() (interface{}, error) { +func (c *current) onDocumentFragment154() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine386() (interface{}, error) { +func (p *parser) callonDocumentFragment154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine386() + return p.cur.onDocumentFragment154() } -func (c *current) onDocumentRawLine389() (interface{}, error) { +func (c *current) onDocumentFragment157() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine389() (interface{}, error) { +func (p *parser) callonDocumentFragment157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine389() + return p.cur.onDocumentFragment157() } -func (c *current) onDocumentRawLine378(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onDocumentFragment145(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonDocumentRawLine378() (interface{}, error) { +func (p *parser) callonDocumentFragment145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine378(stack["language"]) + return p.cur.onDocumentFragment145(stack["delimiter"]) } -func (c *current) onDocumentRawLine399() (interface{}, error) { - // sequence of 3 "`" chars or more +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) callonDocumentRawLine399() (interface{}, error) { +func (p *parser) callonDocumentFragment172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine399() + return p.cur.onDocumentFragment172() } -func (c *current) onDocumentRawLine405() (interface{}, error) { +func (c *current) onDocumentFragment178() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine405() (interface{}, error) { +func (p *parser) callonDocumentFragment178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine405() + return p.cur.onDocumentFragment178() } -func (c *current) onDocumentRawLine408() (interface{}, error) { +func (c *current) onDocumentFragment181() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine408() (interface{}, error) { +func (p *parser) callonDocumentFragment181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine408() + return p.cur.onDocumentFragment181() } -func (c *current) onDocumentRawLine396(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment169(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentRawLine396() (interface{}, error) { +func (p *parser) callonDocumentFragment169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine396(stack["delimiter"]) + return p.cur.onDocumentFragment169(stack["delimiter"]) } -func (c *current) onDocumentRawLine418() (interface{}, error) { - // sequence of 4 "-" chars or more +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) callonDocumentRawLine418() (interface{}, error) { +func (p *parser) callonDocumentFragment200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine418() + return p.cur.onDocumentFragment200() } -func (c *current) onDocumentRawLine424() (interface{}, error) { +func (c *current) onDocumentFragment206() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine424() (interface{}, error) { +func (p *parser) callonDocumentFragment206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine424() + return p.cur.onDocumentFragment206() } -func (c *current) onDocumentRawLine427() (interface{}, error) { +func (c *current) onDocumentFragment209() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine427() (interface{}, error) { +func (p *parser) callonDocumentFragment209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine427() + return p.cur.onDocumentFragment209() } -func (c *current) onDocumentRawLine415(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment197(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentRawLine415() (interface{}, error) { +func (p *parser) callonDocumentFragment197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine415(stack["delimiter"]) + return p.cur.onDocumentFragment197(stack["delimiter"]) } -func (c *current) onDocumentRawLine437() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onDocumentFragment216(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentRawLine437() (interface{}, error) { +func (p *parser) callonDocumentFragment216() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine437() + return p.cur.onDocumentFragment216(stack["end"]) } -func (c *current) onDocumentRawLine443() (interface{}, error) { +func (c *current) onDocumentFragment226() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine443() (interface{}, error) { +func (p *parser) callonDocumentFragment226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine443() + return p.cur.onDocumentFragment226() } -func (c *current) onDocumentRawLine446() (interface{}, error) { +func (c *current) onDocumentFragment230() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine446() (interface{}, error) { +func (p *parser) callonDocumentFragment230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine446() + return p.cur.onDocumentFragment230() } -func (c *current) onDocumentRawLine434(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment220(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentRawLine434() (interface{}, error) { +func (p *parser) callonDocumentFragment220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine434(stack["delimiter"]) + return p.cur.onDocumentFragment220(stack["content"]) } -func (c *current) onDocumentRawLine456() (interface{}, error) { - // sequence of 4 "+" chars or more +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) callonDocumentRawLine456() (interface{}, error) { +func (p *parser) callonDocumentFragment245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine456() + return p.cur.onDocumentFragment245() } -func (c *current) onDocumentRawLine462() (interface{}, error) { +func (c *current) onDocumentFragment251() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentRawLine462() (interface{}, error) { +func (p *parser) callonDocumentFragment251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine462() + return p.cur.onDocumentFragment251() } -func (c *current) onDocumentRawLine465() (interface{}, error) { +func (c *current) onDocumentFragment254() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine465() (interface{}, error) { +func (p *parser) callonDocumentFragment254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine465() + return p.cur.onDocumentFragment254() } -func (c *current) onDocumentRawLine453(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment242(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentRawLine453() (interface{}, error) { +func (p *parser) callonDocumentFragment242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine453(stack["delimiter"]) + return p.cur.onDocumentFragment242(stack["delimiter"]) } -func (c *current) onDocumentRawLine475() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onDocumentFragment261(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentRawLine475() (interface{}, error) { +func (p *parser) callonDocumentFragment261() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine475() + return p.cur.onDocumentFragment261(stack["end"]) } -func (c *current) onDocumentRawLine481() (interface{}, error) { +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) callonDocumentRawLine481() (interface{}, error) { +func (p *parser) callonDocumentFragment275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine481() + return p.cur.onDocumentFragment275() } -func (c *current) onDocumentRawLine484() (interface{}, error) { +func (c *current) onDocumentFragment278() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine484() (interface{}, error) { +func (p *parser) callonDocumentFragment278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine484() + return p.cur.onDocumentFragment278() } -func (c *current) onDocumentRawLine472(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment267(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +} - return types.NewBlockDelimiter(types.Quote, len(delimiter.(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) callonDocumentRawLine472() (interface{}, error) { +func (p *parser) callonDocumentFragment293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine472(stack["delimiter"]) + return p.cur.onDocumentFragment293() } -func (c *current) onDocumentRawLine494() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onDocumentFragment296() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentRawLine494() (interface{}, error) { +func (p *parser) callonDocumentFragment296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine494() + return p.cur.onDocumentFragment296() } -func (c *current) onDocumentRawLine500() (interface{}, error) { +func (c *current) onDocumentFragment310() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine500() (interface{}, error) { +func (p *parser) callonDocumentFragment310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine500() + return p.cur.onDocumentFragment310() } -func (c *current) onDocumentRawLine503() (interface{}, error) { +func (c *current) onDocumentFragment314() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentRawLine503() (interface{}, error) { +func (p *parser) callonDocumentFragment314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine503() + return p.cur.onDocumentFragment314() } -func (c *current) onDocumentRawLine491(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment304(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentRawLine491() (interface{}, error) { +func (p *parser) callonDocumentFragment304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine491(stack["delimiter"]) + return p.cur.onDocumentFragment304(stack["content"]) } -func (c *current) onDocumentRawLine334(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onDocumentFragment287(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentRawLine334() (interface{}, error) { +func (p *parser) callonDocumentFragment287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine334(stack["delimiter"]) + return p.cur.onDocumentFragment287(stack["line"]) } -func (c *current) onDocumentRawLine512() (bool, error) { - // should only be enabled when reading files to include, not the main (root) file - return c.isSectionEnabled(), nil +func (c *current) onDocumentFragment325() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine512() (bool, error) { +func (p *parser) callonDocumentFragment325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine512() + return p.cur.onDocumentFragment325() } -func (c *current) onDocumentRawLine513() (bool, error) { +func (c *current) onDocumentFragment328() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return !c.isWithinDelimitedBlock(), 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) callonDocumentRawLine513() (bool, error) { +func (p *parser) callonDocumentFragment264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine513() + return p.cur.onDocumentFragment264(stack["delimiter"], stack["content"]) } -func (c *current) onDocumentRawLine515() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil +func (c *current) onDocumentFragment341() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentRawLine515() (interface{}, error) { +func (p *parser) callonDocumentFragment341() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine515() + return p.cur.onDocumentFragment341() } -func (c *current) onDocumentRawLine518(level interface{}) (bool, error) { - - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil +func (c *current) onDocumentFragment347() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentRawLine518() (bool, error) { +func (p *parser) callonDocumentFragment347() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine518(stack["level"]) + return p.cur.onDocumentFragment347() } -func (c *current) onDocumentRawLine519(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onDocumentFragment350() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentRawLine519() (interface{}, error) { +func (p *parser) callonDocumentFragment350() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine519(stack["level"]) + return p.cur.onDocumentFragment350() } -func (c *current) onDocumentRawLine522(level interface{}) (interface{}, error) { +func (c *current) onDocumentFragment338(delimiter interface{}) (interface{}, error) { - return string(c.text), nil + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentRawLine522() (interface{}, error) { +func (p *parser) callonDocumentFragment338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine522(stack["level"]) + return p.cur.onDocumentFragment338(stack["delimiter"]) } -func (c *current) onDocumentRawLine510(level interface{}) (interface{}, error) { - return types.NewRawSection(level.(int), string(c.text)) // just retain the raw content +func (c *current) onDocumentFragment357(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentRawLine510() (interface{}, error) { +func (p *parser) callonDocumentFragment357() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine510(stack["level"]) + return p.cur.onDocumentFragment357(stack["start"]) } -func (c *current) onDocumentRawLine1(element interface{}) (interface{}, error) { - // in case of parse error, we'll keep the rawline content as-is - return element, nil +func (c *current) onDocumentFragment369() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentRawLine1() (interface{}, error) { +func (p *parser) callonDocumentFragment369() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentRawLine1(stack["element"]) + return p.cur.onDocumentFragment369() } -func (c *current) onFileInclusion19() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment375() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion19() (interface{}, error) { +func (p *parser) callonDocumentFragment375() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion19() + return p.cur.onDocumentFragment375() } -func (c *current) onFileInclusion23() (interface{}, error) { +func (c *current) onDocumentFragment378() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonFileInclusion23() (interface{}, error) { +func (p *parser) callonDocumentFragment378() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion23() + return p.cur.onDocumentFragment378() } -func (c *current) onFileInclusion30() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment366(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion30() (interface{}, error) { +func (p *parser) callonDocumentFragment366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion30() + return p.cur.onDocumentFragment366(stack["delimiter"]) } -func (c *current) onFileInclusion34() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentFragment385(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonFileInclusion34() (bool, error) { +func (p *parser) callonDocumentFragment385() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion34() + return p.cur.onDocumentFragment385(stack["end"]) } -func (c *current) onFileInclusion41() (interface{}, error) { +func (c *current) onDocumentFragment395() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion41() (interface{}, error) { +func (p *parser) callonDocumentFragment395() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion41() + return p.cur.onDocumentFragment395() } -func (c *current) onFileInclusion53() (interface{}, error) { +func (c *current) onDocumentFragment399() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion53() (interface{}, error) { +func (p *parser) callonDocumentFragment399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion53() + return p.cur.onDocumentFragment399() } -func (c *current) onFileInclusion55() (interface{}, error) { +func (c *current) onDocumentFragment389(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonFileInclusion55() (interface{}, error) { +func (p *parser) callonDocumentFragment389() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion55() + return p.cur.onDocumentFragment389(stack["content"]) } -func (c *current) onFileInclusion48(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment360(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonFileInclusion48() (interface{}, error) { +func (p *parser) callonDocumentFragment360() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion48(stack["start"]) + return p.cur.onDocumentFragment360(stack["line"]) } -func (c *current) onFileInclusion37(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentFragment414() (interface{}, error) { + // sequence of 3 "`" chars or more + return string(c.text), nil + } -func (p *parser) callonFileInclusion37() (interface{}, error) { +func (p *parser) callonDocumentFragment414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion37(stack["name"], stack["start"]) + return p.cur.onDocumentFragment414() } -func (c *current) onFileInclusion63() (interface{}, error) { +func (c *current) onDocumentFragment420() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion63() (interface{}, error) { +func (p *parser) callonDocumentFragment420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion63() + return p.cur.onDocumentFragment420() } -func (c *current) onFileInclusion75() (interface{}, error) { +func (c *current) onDocumentFragment423() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion75() (interface{}, error) { +func (p *parser) callonDocumentFragment423() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion75() + return p.cur.onDocumentFragment423() } -func (c *current) onFileInclusion77() (interface{}, error) { +func (c *current) onDocumentFragment411(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion77() (interface{}, error) { +func (p *parser) callonDocumentFragment411() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion77() + return p.cur.onDocumentFragment411(stack["delimiter"]) } -func (c *current) onFileInclusion70(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentFragment430(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonFileInclusion70() (interface{}, error) { +func (p *parser) callonDocumentFragment430() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion70(stack["start"]) + return p.cur.onDocumentFragment430(stack["end"]) } -func (c *current) onFileInclusion59(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentFragment335(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) + } -func (p *parser) callonFileInclusion59() (interface{}, error) { +func (p *parser) callonDocumentFragment335() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion59(stack["name"], stack["start"]) + return p.cur.onDocumentFragment335(stack["start"], stack["content"], stack["end"]) } -func (c *current) onFileInclusion85() (interface{}, error) { +func (c *current) onDocumentFragment439() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonFileInclusion85() (interface{}, error) { +func (p *parser) callonDocumentFragment439() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion85() + return p.cur.onDocumentFragment439() } -func (c *current) onFileInclusion81(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentFragment445() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion81() (interface{}, error) { +func (p *parser) callonDocumentFragment445() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion81(stack["name"]) + return p.cur.onDocumentFragment445() } -func (c *current) onFileInclusion95() (interface{}, error) { +func (c *current) onDocumentFragment448() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion95() (interface{}, error) { +func (p *parser) callonDocumentFragment448() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion95() + return p.cur.onDocumentFragment448() } -func (c *current) onFileInclusion91(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment436(delimiter interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion91() (interface{}, error) { +func (p *parser) callonDocumentFragment436() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion91(stack["name"]) + return p.cur.onDocumentFragment436(stack["delimiter"]) } -func (c *current) onFileInclusion32(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment455(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonFileInclusion32() (interface{}, error) { +func (p *parser) callonDocumentFragment455() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion32(stack["element"]) + return p.cur.onDocumentFragment455(stack["start"]) } -func (c *current) onFileInclusion103() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onDocumentFragment467() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion103() (bool, error) { +func (p *parser) callonDocumentFragment467() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion103() + return p.cur.onDocumentFragment467() } -func (c *current) onFileInclusion112() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment473() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion112() (interface{}, error) { +func (p *parser) callonDocumentFragment473() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion112() + return p.cur.onDocumentFragment473() } -func (c *current) onFileInclusion116() (interface{}, error) { +func (c *current) onDocumentFragment476() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion116() (interface{}, error) { +func (p *parser) callonDocumentFragment476() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion116() + return p.cur.onDocumentFragment476() } -func (c *current) onFileInclusion122() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment464(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion122() (interface{}, error) { +func (p *parser) callonDocumentFragment464() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion122() + return p.cur.onDocumentFragment464(stack["delimiter"]) } -func (c *current) onFileInclusion131() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment483(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonFileInclusion131() (interface{}, error) { +func (p *parser) callonDocumentFragment483() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion131() + return p.cur.onDocumentFragment483(stack["end"]) } -func (c *current) onFileInclusion127(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment493() (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) callonFileInclusion127() (interface{}, error) { +func (p *parser) callonDocumentFragment493() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion127(stack["name"]) + return p.cur.onDocumentFragment493() } -func (c *current) onFileInclusion141() (interface{}, error) { +func (c *current) onDocumentFragment497() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonFileInclusion141() (interface{}, error) { +func (p *parser) callonDocumentFragment497() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion141() + return p.cur.onDocumentFragment497() } -func (c *current) onFileInclusion137(name interface{}) (interface{}, error) { +func (c *current) onDocumentFragment487(content interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonFileInclusion137() (interface{}, error) { +func (p *parser) callonDocumentFragment487() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion137(stack["name"]) + return p.cur.onDocumentFragment487(stack["content"]) } -func (c *current) onFileInclusion147() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment458(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonFileInclusion147() (interface{}, error) { +func (p *parser) callonDocumentFragment458() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion147() + return p.cur.onDocumentFragment458(stack["line"]) } -func (c *current) onFileInclusion108(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onDocumentFragment512() (interface{}, error) { + // sequence of 4 "-" chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion108() (interface{}, error) { +func (p *parser) callonDocumentFragment512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion108(stack["id"], stack["label"]) + return p.cur.onDocumentFragment512() } -func (c *current) onFileInclusion154() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onDocumentFragment518() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion154() (interface{}, error) { +func (p *parser) callonDocumentFragment518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion154() + return p.cur.onDocumentFragment518() } -func (c *current) onFileInclusion150(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onDocumentFragment521() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonFileInclusion150() (interface{}, error) { +func (p *parser) callonDocumentFragment521() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion150(stack["id"]) + return p.cur.onDocumentFragment521() } -func (c *current) onFileInclusion106() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment509(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion106() (interface{}, error) { +func (p *parser) callonDocumentFragment509() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion106() + return p.cur.onDocumentFragment509(stack["delimiter"]) } -func (c *current) onFileInclusion158() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onDocumentFragment528(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonFileInclusion158() (interface{}, error) { +func (p *parser) callonDocumentFragment528() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion158() + return p.cur.onDocumentFragment528(stack["end"]) } -func (c *current) onFileInclusion101(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentFragment433(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) } -func (p *parser) callonFileInclusion101() (interface{}, error) { +func (p *parser) callonDocumentFragment433() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion101(stack["element"]) + return p.cur.onDocumentFragment433(stack["start"], stack["content"], stack["end"]) } -func (c *current) onFileInclusion160() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentFragment537() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion160() (interface{}, error) { +func (p *parser) callonDocumentFragment537() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion160() + return p.cur.onDocumentFragment537() } -func (c *current) onFileInclusion12(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onDocumentFragment543() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFileInclusion12() (interface{}, error) { +func (p *parser) callonDocumentFragment543() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion12(stack["elements"]) + return p.cur.onDocumentFragment543() } -func (c *current) onFileInclusion166() (interface{}, error) { +func (c *current) onDocumentFragment546() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonFileInclusion166() (interface{}, error) { +func (p *parser) callonDocumentFragment546() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion166() + return p.cur.onDocumentFragment546() } -func (c *current) onFileInclusion162(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onDocumentFragment534(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonFileInclusion162() (interface{}, error) { +func (p *parser) callonDocumentFragment534() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion162(stack["ref"]) + return p.cur.onDocumentFragment534(stack["delimiter"]) } -func (c *current) onFileInclusion8(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) +func (c *current) onDocumentFragment553(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonFileInclusion8() (interface{}, error) { +func (p *parser) callonDocumentFragment553() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion8(stack["path"]) + return p.cur.onDocumentFragment553(stack["start"]) } -func (c *current) onFileInclusion4(path, attributes interface{}) (interface{}, error) { - - return types.NewFileInclusion(path.(*types.Location), attributes.(types.Attributes), string(c.text)) +func (c *current) onDocumentFragment565() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonFileInclusion4() (interface{}, error) { +func (p *parser) callonDocumentFragment565() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion4(stack["path"], stack["attributes"]) + return p.cur.onDocumentFragment565() } -func (c *current) onFileInclusion173() (interface{}, error) { +func (c *current) onDocumentFragment571() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonFileInclusion173() (interface{}, error) { +func (p *parser) callonDocumentFragment571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion173() + return p.cur.onDocumentFragment571() } -func (c *current) onFileInclusion176() (interface{}, error) { +func (c *current) onDocumentFragment574() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonFileInclusion176() (interface{}, error) { +func (p *parser) callonDocumentFragment574() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion176() + return p.cur.onDocumentFragment574() } -func (c *current) onFileInclusion1(incl interface{}) (interface{}, error) { - return incl.(*types.FileInclusion), nil +func (c *current) onDocumentFragment562(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonFileInclusion1() (interface{}, error) { +func (p *parser) callonDocumentFragment562() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFileInclusion1(stack["incl"]) + return p.cur.onDocumentFragment562(stack["delimiter"]) } -func (c *current) onLineRanges12() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment581(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonLineRanges12() (interface{}, error) { +func (p *parser) callonDocumentFragment581() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges12() + return p.cur.onDocumentFragment581(stack["end"]) } -func (c *current) onLineRanges20() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment591() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonLineRanges20() (interface{}, error) { +func (p *parser) callonDocumentFragment591() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges20() + return p.cur.onDocumentFragment591() } -func (c *current) onLineRanges9(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) - +func (c *current) onDocumentFragment595() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges9() (interface{}, error) { +func (p *parser) callonDocumentFragment595() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges9(stack["start"], stack["end"]) + return p.cur.onDocumentFragment595() } -func (c *current) onLineRanges28() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment585(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonLineRanges28() (interface{}, error) { +func (p *parser) callonDocumentFragment585() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges28() + return p.cur.onDocumentFragment585(stack["content"]) } -func (c *current) onLineRanges26(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) +func (c *current) onDocumentFragment556(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonLineRanges26() (interface{}, error) { +func (p *parser) callonDocumentFragment556() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges26(stack["singleline"]) + return p.cur.onDocumentFragment556(stack["line"]) } -func (c *current) onLineRanges44() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment610() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonLineRanges44() (interface{}, error) { +func (p *parser) callonDocumentFragment610() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges44() + return p.cur.onDocumentFragment610() } -func (c *current) onLineRanges52() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment616() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges52() (interface{}, error) { +func (p *parser) callonDocumentFragment616() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges52() + return p.cur.onDocumentFragment616() } -func (c *current) onLineRanges41(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) - +func (c *current) onDocumentFragment619() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges41() (interface{}, error) { +func (p *parser) callonDocumentFragment619() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges41(stack["start"], stack["end"]) + return p.cur.onDocumentFragment619() } -func (c *current) onLineRanges60() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment607(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonLineRanges60() (interface{}, error) { +func (p *parser) callonDocumentFragment607() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges60() + return p.cur.onDocumentFragment607(stack["delimiter"]) } -func (c *current) onLineRanges58(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) +func (c *current) onDocumentFragment626(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonLineRanges58() (interface{}, error) { +func (p *parser) callonDocumentFragment626() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges58(stack["singleline"]) + return p.cur.onDocumentFragment626(stack["end"]) } -func (c *current) onLineRanges36(other interface{}) (interface{}, error) { - return other, nil +func (c *current) onDocumentFragment531(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonLineRanges36() (interface{}, error) { +func (p *parser) callonDocumentFragment531() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges36(stack["other"]) + return p.cur.onDocumentFragment531(stack["start"], stack["content"], stack["end"]) } -func (c *current) onLineRanges5(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil +func (c *current) onDocumentFragment641() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges5() (interface{}, error) { +func (p *parser) callonDocumentFragment641() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges5(stack["first"], stack["others"]) + return p.cur.onDocumentFragment641() } -func (c *current) onLineRanges69() (interface{}, error) { - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment644() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges69() (interface{}, error) { +func (p *parser) callonDocumentFragment644() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges69() + return p.cur.onDocumentFragment644() } -func (c *current) onLineRanges77() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentFragment635() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonLineRanges77() (interface{}, error) { +func (p *parser) callonDocumentFragment635() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges77() + return p.cur.onDocumentFragment635() } -func (c *current) onLineRanges66(start, end interface{}) (interface{}, error) { - // eg: lines=12..14 - return types.NewLineRange(start.(int), end.(int)) +func (c *current) onDocumentFragment653() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonLineRanges66() (interface{}, error) { +func (p *parser) callonDocumentFragment653() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges66(stack["start"], stack["end"]) + return p.cur.onDocumentFragment653() } -func (c *current) onLineRanges85() (interface{}, error) { - return strconv.Atoi(string(c.text)) - +func (c *current) onDocumentFragment657() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLineRanges85() (interface{}, error) { +func (p *parser) callonDocumentFragment657() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges85() + return p.cur.onDocumentFragment657() } -func (c *current) onLineRanges83(singleline interface{}) (interface{}, error) { - // eg: lines=12 - return types.NewLineRange(singleline.(int), singleline.(int)) +func (c *current) onDocumentFragment632(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonLineRanges83() (interface{}, error) { +func (p *parser) callonDocumentFragment632() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges83(stack["singleline"]) + return p.cur.onDocumentFragment632(stack["content"]) } -func (c *current) onLineRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil +func (c *current) onDocumentFragment676() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLineRanges1() (interface{}, error) { +func (p *parser) callonDocumentFragment676() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLineRanges1(stack["value"]) + return p.cur.onDocumentFragment676() } -func (c *current) onTagRanges11() (interface{}, error) { +func (c *current) onDocumentFragment679() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonTagRanges11() (interface{}, error) { +func (p *parser) callonDocumentFragment679() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges11() + return p.cur.onDocumentFragment679() } -func (c *current) onTagRanges17() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment670() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonTagRanges17() (interface{}, error) { +func (p *parser) callonDocumentFragment670() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges17() + return p.cur.onDocumentFragment670() } -func (c *current) onTagRanges20(stars interface{}) (bool, error) { +func (c *current) onDocumentFragment688() (interface{}, error) { - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil + return string(c.text), nil } -func (p *parser) callonTagRanges20() (bool, error) { +func (p *parser) callonDocumentFragment688() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges20(stack["stars"]) + return p.cur.onDocumentFragment688() } -func (c *current) onTagRanges14(stars interface{}) (interface{}, error) { - return stars, nil - +func (c *current) onDocumentFragment692() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagRanges14() (interface{}, error) { +func (p *parser) callonDocumentFragment692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges14(stack["stars"]) + return p.cur.onDocumentFragment692() } -func (c *current) onTagRanges8(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) +func (c *current) onDocumentFragment667(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonTagRanges8() (interface{}, error) { +func (p *parser) callonDocumentFragment667() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges8(stack["tag"]) + return p.cur.onDocumentFragment667(stack["content"]) } -func (c *current) onTagRanges26() (interface{}, error) { +func (c *current) onDocumentFragment702() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonTagRanges26() (interface{}, error) { +func (p *parser) callonDocumentFragment702() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges26() + return p.cur.onDocumentFragment702() } -func (c *current) onTagRanges32() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment705(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonTagRanges32() (interface{}, error) { +func (p *parser) callonDocumentFragment705() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges32() + return p.cur.onDocumentFragment705(stack["content"]) } -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 (c *current) onDocumentFragment707() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagRanges35() (bool, error) { +func (p *parser) callonDocumentFragment707() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges35(stack["stars"]) + return p.cur.onDocumentFragment707() } -func (c *current) onTagRanges29(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onDocumentFragment699(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonTagRanges29() (interface{}, error) { +func (p *parser) callonDocumentFragment699() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges29(stack["stars"]) + return p.cur.onDocumentFragment699(stack["content"]) } -func (c *current) onTagRanges21(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) +func (c *current) onDocumentFragment629(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonTagRanges21() (interface{}, error) { +func (p *parser) callonDocumentFragment629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges21(stack["tag"]) + return p.cur.onDocumentFragment629(stack["firstLine"], stack["otherLines"]) } -func (c *current) onTagRanges46() (interface{}, error) { +func (c *current) onDocumentFragment720() (interface{}, error) { + // sequence of exactly "--" return string(c.text), nil } -func (p *parser) callonTagRanges46() (interface{}, error) { +func (p *parser) callonDocumentFragment720() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges46() + return p.cur.onDocumentFragment720() } -func (c *current) onTagRanges52() (interface{}, error) { +func (c *current) onDocumentFragment723() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges52() (interface{}, error) { +func (p *parser) callonDocumentFragment723() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges52() + return p.cur.onDocumentFragment723() } -func (c *current) onTagRanges55(stars interface{}) (bool, error) { - - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil - +func (c *current) onDocumentFragment726() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagRanges55() (bool, error) { +func (p *parser) callonDocumentFragment726() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges55(stack["stars"]) + return p.cur.onDocumentFragment726() } -func (c *current) onTagRanges49(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onDocumentFragment717(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonTagRanges49() (interface{}, error) { +func (p *parser) callonDocumentFragment717() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges49(stack["stars"]) + return p.cur.onDocumentFragment717(stack["delimiter"]) } -func (c *current) onTagRanges43(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), true) +func (c *current) onDocumentFragment742() (interface{}, error) { + // sequence of exactly "--" + return string(c.text), nil } -func (p *parser) callonTagRanges43() (interface{}, error) { +func (p *parser) callonDocumentFragment742() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges43(stack["tag"]) + return p.cur.onDocumentFragment742() } -func (c *current) onTagRanges61() (interface{}, error) { +func (c *current) onDocumentFragment745() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonTagRanges61() (interface{}, error) { +func (p *parser) callonDocumentFragment745() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges61() + return p.cur.onDocumentFragment745() } -func (c *current) onTagRanges67() (interface{}, error) { +func (c *current) onDocumentFragment748() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonTagRanges67() (interface{}, error) { +func (p *parser) callonDocumentFragment748() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges67() + return p.cur.onDocumentFragment748() } -func (c *current) onTagRanges70(stars interface{}) (bool, error) { +func (c *current) onDocumentFragment739(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that only `*` and `**` are allowed - return len(stars.(string)) <= 2, nil + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonTagRanges70() (bool, error) { +func (p *parser) callonDocumentFragment739() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges70(stack["stars"]) + return p.cur.onDocumentFragment739(stack["delimiter"]) } -func (c *current) onTagRanges64(stars interface{}) (interface{}, error) { - return stars, nil +func (c *current) onDocumentFragment764() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonTagRanges64() (interface{}, error) { +func (p *parser) callonDocumentFragment764() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges64(stack["stars"]) + return p.cur.onDocumentFragment764() } -func (c *current) onTagRanges56(tag interface{}) (interface{}, error) { - return types.NewTagRange(tag.(string), false) - +func (c *current) onDocumentFragment768() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonTagRanges56() (interface{}, error) { +func (p *parser) callonDocumentFragment768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges56(stack["tag"]) + return p.cur.onDocumentFragment768() } -func (c *current) onTagRanges38(other interface{}) (interface{}, error) { - return other, nil +func (c *current) onDocumentFragment758(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonTagRanges38() (interface{}, error) { +func (p *parser) callonDocumentFragment758() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges38(stack["other"]) + return p.cur.onDocumentFragment758(stack["content"]) } -func (c *current) onTagRanges4(first, others interface{}) (interface{}, error) { - return append([]interface{}{first}, others.([]interface{})...), nil +func (c *current) onDocumentFragment735(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonTagRanges4() (interface{}, error) { +func (p *parser) callonDocumentFragment735() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges4(stack["first"], stack["others"]) + return p.cur.onDocumentFragment735(stack["line"]) } -func (c *current) onTagRanges1(value interface{}) (interface{}, error) { - // must make sure that the whole content is parsed - return value, nil +func (c *current) onDocumentFragment781() (interface{}, error) { + // sequence of exactly "--" + return string(c.text), nil } -func (p *parser) callonTagRanges1() (interface{}, error) { +func (p *parser) callonDocumentFragment781() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onTagRanges1(stack["value"]) + return p.cur.onDocumentFragment781() } -func (c *current) onIncludedFileLine11() (interface{}, error) { +func (c *current) onDocumentFragment784() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIncludedFileLine11() (interface{}, error) { +func (p *parser) callonDocumentFragment784() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine11() + return p.cur.onDocumentFragment784() } -func (c *current) onIncludedFileLine10() (interface{}, error) { +func (c *current) onDocumentFragment787() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIncludedFileLine10() (interface{}, error) { +func (p *parser) callonDocumentFragment787() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine10() + return p.cur.onDocumentFragment787() } -func (c *current) onIncludedFileLine6(tag interface{}) (interface{}, error) { - return types.NewIncludedFileStartTag(tag.(string)) +func (c *current) onDocumentFragment778(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonIncludedFileLine6() (interface{}, error) { +func (p *parser) callonDocumentFragment778() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine6(stack["tag"]) + return p.cur.onDocumentFragment778(stack["delimiter"]) } -func (c *current) onIncludedFileLine20() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment714(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Open, content.([]interface{})) } -func (p *parser) callonIncludedFileLine20() (interface{}, error) { +func (p *parser) callonDocumentFragment714() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine20() + return p.cur.onDocumentFragment714(stack["start"], stack["content"], stack["end"]) } -func (c *current) onIncludedFileLine19() (interface{}, error) { +func (c *current) onDocumentFragment802() (interface{}, error) { + // sequence of 4 "+" chars or more 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) { +func (p *parser) callonDocumentFragment802() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine15(stack["tag"]) + return p.cur.onDocumentFragment802() } -func (c *current) onIncludedFileLine24() (interface{}, error) { +func (c *current) onDocumentFragment808() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonIncludedFileLine24() (interface{}, error) { +func (p *parser) callonDocumentFragment808() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine24() + return p.cur.onDocumentFragment808() } -func (c *current) onIncludedFileLine27() (interface{}, error) { +func (c *current) onDocumentFragment811() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonIncludedFileLine27() (interface{}, error) { +func (p *parser) callonDocumentFragment811() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine27() + return p.cur.onDocumentFragment811() } -func (c *current) onIncludedFileLine1(content interface{}) (interface{}, error) { - return types.NewIncludedFileLine(content.([]interface{})) +func (c *current) onDocumentFragment799(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonIncludedFileLine1() (interface{}, error) { +func (p *parser) callonDocumentFragment799() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIncludedFileLine1(stack["content"]) + return p.cur.onDocumentFragment799(stack["delimiter"]) } -func (c *current) onDocumentFragment9(attributes interface{}) error { - if attributes, ok := attributes.(types.Attributes); ok { - c.storeBlockAttributes(attributes) - } - return nil +func (c *current) onDocumentFragment818(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment9() error { +func (p *parser) callonDocumentFragment818() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment9(stack["attributes"]) + return p.cur.onDocumentFragment818(stack["start"]) } -func (c *current) onDocumentFragment22() (interface{}, error) { +func (c *current) onDocumentFragment830() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment22() (interface{}, error) { +func (p *parser) callonDocumentFragment830() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment22() + return p.cur.onDocumentFragment830() } -func (c *current) onDocumentFragment29() (interface{}, error) { +func (c *current) onDocumentFragment836() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment29() (interface{}, error) { +func (p *parser) callonDocumentFragment836() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment29() + return p.cur.onDocumentFragment836() } -func (c *current) onDocumentFragment32() (interface{}, error) { +func (c *current) onDocumentFragment839() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment32() (interface{}, error) { +func (p *parser) callonDocumentFragment839() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment32() + return p.cur.onDocumentFragment839() } -func (c *current) onDocumentFragment18(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentFragment827(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment18() (interface{}, error) { +func (p *parser) callonDocumentFragment827() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment18(stack["name"]) + return p.cur.onDocumentFragment827(stack["delimiter"]) } -func (c *current) onDocumentFragment43() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment846(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment43() (interface{}, error) { +func (p *parser) callonDocumentFragment846() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment43() + return p.cur.onDocumentFragment846(stack["end"]) } -func (c *current) onDocumentFragment50() (interface{}, error) { +func (c *current) onDocumentFragment856() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment50() (interface{}, error) { +func (p *parser) callonDocumentFragment856() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment50() + return p.cur.onDocumentFragment856() } -func (c *current) onDocumentFragment53() (interface{}, error) { +func (c *current) onDocumentFragment860() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment53() (interface{}, error) { +func (p *parser) callonDocumentFragment860() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment53() + return p.cur.onDocumentFragment860() } -func (c *current) onDocumentFragment39(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onDocumentFragment850(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment39() (interface{}, error) { +func (p *parser) callonDocumentFragment850() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment39(stack["name"]) + return p.cur.onDocumentFragment850(stack["content"]) } -func (c *current) onDocumentFragment66() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment821(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonDocumentFragment66() (interface{}, error) { +func (p *parser) callonDocumentFragment821() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment66() + return p.cur.onDocumentFragment821(stack["line"]) } -func (c *current) onDocumentFragment69() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment875() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil -} - -func (p *parser) callonDocumentFragment69() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment69() -} - -func (c *current) onDocumentFragment60() (interface{}, error) { - return types.NewBlankLine() } -func (p *parser) callonDocumentFragment60() (interface{}, error) { +func (p *parser) callonDocumentFragment875() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment60() + return p.cur.onDocumentFragment875() } -func (c *current) onDocumentFragment78() (bool, error) { - - return !c.isWithinDelimitedBlock(), nil +func (c *current) onDocumentFragment881() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment78() (bool, error) { +func (p *parser) callonDocumentFragment881() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment78() + return p.cur.onDocumentFragment881() } -func (c *current) onDocumentFragment80() (interface{}, error) { - - // `=` is level 0, `==` is level 1, etc. - return (len(c.text) - 1), nil - +func (c *current) onDocumentFragment884() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment80() (interface{}, error) { +func (p *parser) callonDocumentFragment884() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment80() + return p.cur.onDocumentFragment884() } -func (c *current) onDocumentFragment83(level interface{}) (bool, error) { +func (c *current) onDocumentFragment872(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that only `=` (level 0) to `======` (level 5) are allowed - return level.(int) <= 5, nil + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment83() (bool, error) { +func (p *parser) callonDocumentFragment872() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment83(stack["level"]) + return p.cur.onDocumentFragment872(stack["delimiter"]) } -func (c *current) onDocumentFragment84(level interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDocumentFragment891(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment84() (interface{}, error) { +func (p *parser) callonDocumentFragment891() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment84(stack["level"]) + return p.cur.onDocumentFragment891(stack["end"]) } -func (c *current) onDocumentFragment88() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil +func (c *current) onDocumentFragment796(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) } -func (p *parser) callonDocumentFragment88() (interface{}, error) { +func (p *parser) callonDocumentFragment796() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment88() + return p.cur.onDocumentFragment796(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment92() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment900() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil + } -func (p *parser) callonDocumentFragment92() (interface{}, error) { +func (p *parser) callonDocumentFragment900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment92() + return p.cur.onDocumentFragment900() } -func (c *current) onDocumentFragment76(level, title interface{}) (interface{}, error) { - return types.NewSection(level.(int), title.([]interface{})) +func (c *current) onDocumentFragment906() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment76() (interface{}, error) { +func (p *parser) callonDocumentFragment906() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment76(stack["level"], stack["title"]) + return p.cur.onDocumentFragment906() } -func (c *current) onDocumentFragment104() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentFragment909() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment104() (interface{}, error) { +func (p *parser) callonDocumentFragment909() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment104() + return p.cur.onDocumentFragment909() } -func (c *current) onDocumentFragment110() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment897(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment110() (interface{}, error) { +func (p *parser) callonDocumentFragment897() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment110() + return p.cur.onDocumentFragment897(stack["delimiter"]) } -func (c *current) onDocumentFragment113() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment916(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + } -func (p *parser) callonDocumentFragment113() (interface{}, error) { +func (p *parser) callonDocumentFragment916() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment113() + return p.cur.onDocumentFragment916(stack["start"]) } -func (c *current) onDocumentFragment101(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment928() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonDocumentFragment101() (interface{}, error) { +func (p *parser) callonDocumentFragment928() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment101(stack["delimiter"]) + return p.cur.onDocumentFragment928() } -func (c *current) onDocumentFragment129() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentFragment934() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment129() (interface{}, error) { +func (p *parser) callonDocumentFragment934() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment129() + return p.cur.onDocumentFragment934() } -func (c *current) onDocumentFragment135() (interface{}, error) { +func (c *current) onDocumentFragment937() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment135() (interface{}, error) { +func (p *parser) callonDocumentFragment937() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment135() + return p.cur.onDocumentFragment937() } -func (c *current) onDocumentFragment138() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment925(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonDocumentFragment138() (interface{}, error) { +func (p *parser) callonDocumentFragment925() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment138() + return p.cur.onDocumentFragment925(stack["delimiter"]) } -func (c *current) onDocumentFragment126(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment944(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment126() (interface{}, error) { +func (p *parser) callonDocumentFragment944() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment126(stack["delimiter"]) + return p.cur.onDocumentFragment944(stack["end"]) } -func (c *current) onDocumentFragment154() (interface{}, error) { +func (c *current) onDocumentFragment954() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment154() (interface{}, error) { +func (p *parser) callonDocumentFragment954() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment154() + return p.cur.onDocumentFragment954() } -func (c *current) onDocumentFragment158() (interface{}, error) { +func (c *current) onDocumentFragment958() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment158() (interface{}, error) { +func (p *parser) callonDocumentFragment958() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment158() + return p.cur.onDocumentFragment958() } -func (c *current) onDocumentFragment148(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment948(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment148() (interface{}, error) { +func (p *parser) callonDocumentFragment948() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment148(stack["content"]) + return p.cur.onDocumentFragment948(stack["content"]) } -func (c *current) onDocumentFragment122(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment919(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment122() (interface{}, error) { +func (p *parser) callonDocumentFragment919() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment122(stack["line"]) + return p.cur.onDocumentFragment919(stack["line"]) } -func (c *current) onDocumentFragment170() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDocumentFragment973() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment170() (interface{}, error) { +func (p *parser) callonDocumentFragment973() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment170() + return p.cur.onDocumentFragment973() } -func (c *current) onDocumentFragment176() (interface{}, error) { +func (c *current) onDocumentFragment979() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment176() (interface{}, error) { +func (p *parser) callonDocumentFragment979() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment176() + return p.cur.onDocumentFragment979() } -func (c *current) onDocumentFragment179() (interface{}, error) { +func (c *current) onDocumentFragment982() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment179() (interface{}, error) { +func (p *parser) callonDocumentFragment982() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment179() + return p.cur.onDocumentFragment982() } -func (c *current) onDocumentFragment167(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment970(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) callonDocumentFragment167() (interface{}, error) { +func (p *parser) callonDocumentFragment970() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment167(stack["delimiter"]) + return p.cur.onDocumentFragment970(stack["delimiter"]) } -func (c *current) onDocumentFragment99(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onDocumentFragment989(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment99() (interface{}, error) { +func (p *parser) callonDocumentFragment989() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment99(stack["delimiter"], stack["content"]) + return p.cur.onDocumentFragment989(stack["end"]) } -func (c *current) onDocumentFragment194() (interface{}, error) { - // sequence of 4 "=" chars or more +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) callonDocumentFragment194() (interface{}, error) { +func (p *parser) callonDocumentFragment998() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment194() + return p.cur.onDocumentFragment998() } -func (c *current) onDocumentFragment200() (interface{}, error) { +func (c *current) onDocumentFragment1004() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment200() (interface{}, error) { +func (p *parser) callonDocumentFragment1004() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment200() + return p.cur.onDocumentFragment1004() } -func (c *current) onDocumentFragment203() (interface{}, error) { +func (c *current) onDocumentFragment1007() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment203() (interface{}, error) { +func (p *parser) callonDocumentFragment1007() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment203() + return p.cur.onDocumentFragment1007() } -func (c *current) onDocumentFragment191(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment995(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment191() (interface{}, error) { +func (p *parser) callonDocumentFragment995() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment191(stack["delimiter"]) + return p.cur.onDocumentFragment995(stack["delimiter"]) } -func (c *current) onDocumentFragment210(start interface{}) (bool, error) { +func (c *current) onDocumentFragment1014(start interface{}) (bool, error) { return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment210() (bool, error) { +func (p *parser) callonDocumentFragment1014() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment210(stack["start"]) + return p.cur.onDocumentFragment1014(stack["start"]) } -func (c *current) onDocumentFragment222() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onDocumentFragment1026() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment222() (interface{}, error) { +func (p *parser) callonDocumentFragment1026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment222() + return p.cur.onDocumentFragment1026() } -func (c *current) onDocumentFragment228() (interface{}, error) { +func (c *current) onDocumentFragment1032() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment228() (interface{}, error) { +func (p *parser) callonDocumentFragment1032() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment228() + return p.cur.onDocumentFragment1032() } -func (c *current) onDocumentFragment231() (interface{}, error) { +func (c *current) onDocumentFragment1035() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment231() (interface{}, error) { +func (p *parser) callonDocumentFragment1035() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment231() + return p.cur.onDocumentFragment1035() } -func (c *current) onDocumentFragment219(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1023(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment219() (interface{}, error) { +func (p *parser) callonDocumentFragment1023() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment219(stack["delimiter"]) + return p.cur.onDocumentFragment1023(stack["delimiter"]) } -func (c *current) onDocumentFragment238(end interface{}) (bool, error) { +func (c *current) onDocumentFragment1042(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment238() (bool, error) { +func (p *parser) callonDocumentFragment1042() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment238(stack["end"]) + return p.cur.onDocumentFragment1042(stack["end"]) } -func (c *current) onDocumentFragment248() (interface{}, error) { +func (c *current) onDocumentFragment1052() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment248() (interface{}, error) { +func (p *parser) callonDocumentFragment1052() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment248() + return p.cur.onDocumentFragment1052() } -func (c *current) onDocumentFragment252() (interface{}, error) { +func (c *current) onDocumentFragment1056() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment252() (interface{}, error) { +func (p *parser) callonDocumentFragment1056() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment252() + return p.cur.onDocumentFragment1056() } -func (c *current) onDocumentFragment242(content interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1046(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment242() (interface{}, error) { +func (p *parser) callonDocumentFragment1046() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment242(stack["content"]) + return p.cur.onDocumentFragment1046(stack["content"]) } -func (c *current) onDocumentFragment213(line interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1017(line interface{}) (interface{}, error) { return line, nil } -func (p *parser) callonDocumentFragment213() (interface{}, error) { +func (p *parser) callonDocumentFragment1017() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment213(stack["line"]) + return p.cur.onDocumentFragment1017(stack["line"]) } -func (c *current) onDocumentFragment267() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onDocumentFragment1071() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonDocumentFragment267() (interface{}, error) { +func (p *parser) callonDocumentFragment1071() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment267() + return p.cur.onDocumentFragment1071() } -func (c *current) onDocumentFragment273() (interface{}, error) { +func (c *current) onDocumentFragment1077() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment273() (interface{}, error) { +func (p *parser) callonDocumentFragment1077() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment273() + return p.cur.onDocumentFragment1077() } -func (c *current) onDocumentFragment276() (interface{}, error) { +func (c *current) onDocumentFragment1080() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment276() (interface{}, error) { +func (p *parser) callonDocumentFragment1080() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment276() + return p.cur.onDocumentFragment1080() } -func (c *current) onDocumentFragment264(delimiter interface{}) (interface{}, error) { +func (c *current) onDocumentFragment1068(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonDocumentFragment264() (interface{}, error) { +func (p *parser) callonDocumentFragment1068() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment264(stack["delimiter"]) + return p.cur.onDocumentFragment1068(stack["delimiter"]) } -func (c *current) onDocumentFragment283(end interface{}) (bool, error) { +func (c *current) onDocumentFragment1087(end interface{}) (bool, error) { return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonDocumentFragment283() (bool, error) { +func (p *parser) callonDocumentFragment1087() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment283(stack["end"]) + return p.cur.onDocumentFragment1087(stack["end"]) } -func (c *current) onDocumentFragment188(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Example, content.([]interface{})) +func (c *current) onDocumentFragment992(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) } -func (p *parser) callonDocumentFragment188() (interface{}, error) { +func (p *parser) callonDocumentFragment992() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment188(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment992(stack["start"], stack["content"], stack["end"]) } -func (c *current) onDocumentFragment293() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onDocumentFragment1101() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment293() (interface{}, error) { +func (p *parser) callonDocumentFragment1101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment293() + return p.cur.onDocumentFragment1101() } -func (c *current) onDocumentFragment297() (interface{}, error) { +func (c *current) onDocumentFragment1104() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment297() (interface{}, error) { +func (p *parser) callonDocumentFragment1104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment297() + return p.cur.onDocumentFragment1104() } -func (c *current) onDocumentFragment300() (interface{}, error) { +func (c *current) onDocumentFragment1112() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment300() (interface{}, error) { +func (p *parser) callonDocumentFragment1112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment300() + return p.cur.onDocumentFragment1112() } -func (c *current) onDocumentFragment289(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onDocumentFragment1090() (interface{}, error) { + + return types.NewThematicBreak() + } -func (p *parser) callonDocumentFragment289() (interface{}, error) { +func (p *parser) callonDocumentFragment1090() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment289(stack["language"]) + return p.cur.onDocumentFragment1090() } -func (c *current) onDocumentFragment315() (interface{}, error) { +func (c *current) onDocumentFragment1124() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment315() (interface{}, error) { +func (p *parser) callonDocumentFragment1124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment315() + return p.cur.onDocumentFragment1124() } -func (c *current) onDocumentFragment318() (interface{}, error) { +func (c *current) onDocumentFragment1127() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment318() (interface{}, error) { +func (p *parser) callonDocumentFragment1127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment318() + return p.cur.onDocumentFragment1127() } -func (c *current) onDocumentFragment332() (interface{}, error) { - +func (c *current) onDocumentFragment1143() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment332() (interface{}, error) { +func (p *parser) callonDocumentFragment1143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment332() + return p.cur.onDocumentFragment1143() } -func (c *current) onDocumentFragment336() (interface{}, error) { +func (c *current) onDocumentFragment1146() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment336() (interface{}, error) { +func (p *parser) callonDocumentFragment1146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment336() + return p.cur.onDocumentFragment1146() } -func (c *current) onDocumentFragment326(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDocumentFragment1137() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment326() (interface{}, error) { +func (p *parser) callonDocumentFragment1137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment326(stack["content"]) + return p.cur.onDocumentFragment1137() } -func (c *current) onDocumentFragment309(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment1160() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment309() (interface{}, error) { +func (p *parser) callonDocumentFragment1160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment309(stack["line"]) + return p.cur.onDocumentFragment1160() } -func (c *current) onDocumentFragment347() (interface{}, error) { +func (c *current) onDocumentFragment1163() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment347() (interface{}, error) { +func (p *parser) callonDocumentFragment1163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment347() + return p.cur.onDocumentFragment1163() } -func (c *current) onDocumentFragment350() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDocumentFragment1185() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment350() (interface{}, error) { +func (p *parser) callonDocumentFragment1185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment350() + return p.cur.onDocumentFragment1185() } -func (c *current) onDocumentFragment286(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) onDocumentFragment1190() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment286() (interface{}, error) { +func (p *parser) callonDocumentFragment1190() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment286(stack["delimiter"], stack["content"]) + return p.cur.onDocumentFragment1190() } -func (c *current) onDocumentFragment363() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onDocumentFragment1188(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonDocumentFragment363() (interface{}, error) { +func (p *parser) callonDocumentFragment1188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment363() + return p.cur.onDocumentFragment1188(stack["content"]) } -func (c *current) onDocumentFragment369() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentFragment1181(content interface{}) (interface{}, error) { + return types.NewInlineTableCell(content.(types.RawLine)) } -func (p *parser) callonDocumentFragment369() (interface{}, error) { +func (p *parser) callonDocumentFragment1181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment369() + return p.cur.onDocumentFragment1181(stack["content"]) } -func (c *current) onDocumentFragment372() (interface{}, error) { +func (c *current) onDocumentFragment1194() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment372() (interface{}, error) { +func (p *parser) callonDocumentFragment1194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment372() + return p.cur.onDocumentFragment1194() } -func (c *current) onDocumentFragment360(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment1177(cells interface{}) (interface{}, error) { + return cells, nil } -func (p *parser) callonDocumentFragment360() (interface{}, error) { +func (p *parser) callonDocumentFragment1177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment360(stack["delimiter"]) + return p.cur.onDocumentFragment1177(stack["cells"]) } -func (c *current) onDocumentFragment379(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment1211() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment379() (bool, error) { +func (p *parser) callonDocumentFragment1211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment379(stack["start"]) + return p.cur.onDocumentFragment1211() } -func (c *current) onDocumentFragment391() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onDocumentFragment1214() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment391() (interface{}, error) { +func (p *parser) callonDocumentFragment1214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment391() + return p.cur.onDocumentFragment1214() } -func (c *current) onDocumentFragment397() (interface{}, error) { +func (c *current) onDocumentFragment1230() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment397() (interface{}, error) { +func (p *parser) callonDocumentFragment1230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment397() + return p.cur.onDocumentFragment1230() } -func (c *current) onDocumentFragment400() (interface{}, error) { +func (c *current) onDocumentFragment1233() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment400() (interface{}, error) { +func (p *parser) callonDocumentFragment1233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment400() + return p.cur.onDocumentFragment1233() } -func (c *current) onDocumentFragment388(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment1224() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment388() (interface{}, error) { +func (p *parser) callonDocumentFragment1224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment388(stack["delimiter"]) + return p.cur.onDocumentFragment1224() } -func (c *current) onDocumentFragment407(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - +func (c *current) onDocumentFragment1242() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment407() (bool, error) { +func (p *parser) callonDocumentFragment1242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment407(stack["end"]) + return p.cur.onDocumentFragment1242() } -func (c *current) onDocumentFragment417() (interface{}, error) { - +func (c *current) onDocumentFragment1247() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment417() (interface{}, error) { +func (p *parser) callonDocumentFragment1247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment417() + return p.cur.onDocumentFragment1247() } -func (c *current) onDocumentFragment421() (interface{}, error) { +func (c *current) onDocumentFragment1250() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment421() (interface{}, error) { +func (p *parser) callonDocumentFragment1250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment421() + return p.cur.onDocumentFragment1250() } -func (c *current) onDocumentFragment411(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment411() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment411(stack["content"]) -} - -func (c *current) onDocumentFragment382(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment1264() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment382() (interface{}, error) { +func (p *parser) callonDocumentFragment1264() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment382(stack["line"]) + return p.cur.onDocumentFragment1264() } -func (c *current) onDocumentFragment436() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onDocumentFragment1267() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment436() (interface{}, error) { +func (p *parser) callonDocumentFragment1267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment436() + return p.cur.onDocumentFragment1267() } -func (c *current) onDocumentFragment442() (interface{}, error) { +func (c *current) onDocumentFragment1283() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment442() (interface{}, error) { +func (p *parser) callonDocumentFragment1283() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment442() + return p.cur.onDocumentFragment1283() } -func (c *current) onDocumentFragment445() (interface{}, error) { +func (c *current) onDocumentFragment1286() (interface{}, error) { // TODO: just use "\n" 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) onDocumentFragment433(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment433() (interface{}, error) { +func (p *parser) callonDocumentFragment1286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment433(stack["delimiter"]) + return p.cur.onDocumentFragment1286() } -func (c *current) onDocumentFragment452(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment1277() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment452() (bool, error) { +func (p *parser) callonDocumentFragment1277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment452(stack["end"]) + return p.cur.onDocumentFragment1277() } -func (c *current) onDocumentFragment357(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) - +func (c *current) onDocumentFragment1297() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment357() (interface{}, error) { +func (p *parser) callonDocumentFragment1297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment357(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment1297() } -func (c *current) onDocumentFragment461() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onDocumentFragment1302() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment461() (interface{}, error) { +func (p *parser) callonDocumentFragment1302() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment461() + return p.cur.onDocumentFragment1302() } -func (c *current) onDocumentFragment467() (interface{}, error) { +func (c *current) onDocumentFragment1307() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment467() (interface{}, error) { +func (p *parser) callonDocumentFragment1307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment467() + return p.cur.onDocumentFragment1307() } -func (c *current) onDocumentFragment470() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1257(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) + } -func (p *parser) callonDocumentFragment470() (interface{}, error) { +func (p *parser) callonDocumentFragment1257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment470() + return p.cur.onDocumentFragment1257(stack["content"]) } -func (c *current) onDocumentFragment458(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment1204(format, content interface{}) (interface{}, error) { + return types.NewMultilineTableCell(content.([]interface{}), format) } -func (p *parser) callonDocumentFragment458() (interface{}, error) { +func (p *parser) callonDocumentFragment1204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment458(stack["delimiter"]) + return p.cur.onDocumentFragment1204(stack["format"], stack["content"]) } -func (c *current) onDocumentFragment477(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - +func (c *current) onDocumentFragment1201(cells interface{}) (interface{}, error) { + return cells, nil } -func (p *parser) callonDocumentFragment477() (bool, error) { +func (p *parser) callonDocumentFragment1201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment477(stack["start"]) + return p.cur.onDocumentFragment1201(stack["cells"]) } -func (c *current) onDocumentFragment489() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onDocumentFragment1174(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonDocumentFragment489() (interface{}, error) { +func (p *parser) callonDocumentFragment1174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment489() + return p.cur.onDocumentFragment1174(stack["cells"]) } -func (c *current) onDocumentFragment495() (interface{}, error) { +func (c *current) onDocumentFragment1320() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment495() (interface{}, error) { +func (p *parser) callonDocumentFragment1320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment495() + return p.cur.onDocumentFragment1320() } -func (c *current) onDocumentFragment498() (interface{}, error) { +func (c *current) onDocumentFragment1323() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment498() (interface{}, error) { +func (p *parser) callonDocumentFragment1323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment498() + return p.cur.onDocumentFragment1323() } -func (c *current) onDocumentFragment486(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment1314() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment486() (interface{}, error) { +func (p *parser) callonDocumentFragment1314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment486(stack["delimiter"]) + return p.cur.onDocumentFragment1314() } -func (c *current) onDocumentFragment505(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment1153(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonDocumentFragment505() (bool, error) { +func (p *parser) callonDocumentFragment1153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment505(stack["end"]) + return p.cur.onDocumentFragment1153(stack["content"]) } -func (c *current) onDocumentFragment515() (interface{}, error) { - +func (c *current) onDocumentFragment1334() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment515() (interface{}, error) { +func (p *parser) callonDocumentFragment1334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment515() + return p.cur.onDocumentFragment1334() } -func (c *current) onDocumentFragment519() (interface{}, error) { +func (c *current) onDocumentFragment1337() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment519() (interface{}, error) { +func (p *parser) callonDocumentFragment1337() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment519() + return p.cur.onDocumentFragment1337() } -func (c *current) onDocumentFragment509(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonDocumentFragment509() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment509(stack["content"]) -} - -func (c *current) onDocumentFragment480(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onDocumentFragment1120(lines interface{}) (interface{}, error) { + return types.NewTable(lines.([]interface{})) } -func (p *parser) callonDocumentFragment480() (interface{}, error) { +func (p *parser) callonDocumentFragment1120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment480(stack["line"]) -} - -func (c *current) onDocumentFragment534() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil - + return p.cur.onDocumentFragment1120(stack["lines"]) } -func (p *parser) callonDocumentFragment534() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment534() -} +func (c *current) onDocumentFragment1352() (interface{}, error) { -func (c *current) onDocumentFragment540() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment540() (interface{}, error) { +func (p *parser) callonDocumentFragment1352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment540() + return p.cur.onDocumentFragment1352() } -func (c *current) onDocumentFragment543() (interface{}, error) { +func (c *current) onDocumentFragment1356() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment543() (interface{}, error) { +func (p *parser) callonDocumentFragment1356() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment543() + return p.cur.onDocumentFragment1356() } -func (c *current) onDocumentFragment531(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment1346(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonDocumentFragment531() (interface{}, error) { +func (p *parser) callonDocumentFragment1346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment531(stack["delimiter"]) + return p.cur.onDocumentFragment1346(stack["content"]) } -func (c *current) onDocumentFragment550(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment1365() (bool, error) { + return c.isFrontMatterAllowed(), nil } -func (p *parser) callonDocumentFragment550() (bool, error) { +func (p *parser) callonDocumentFragment1365() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment550(stack["end"]) + return p.cur.onDocumentFragment1365() } -func (c *current) onDocumentFragment455(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) +func (c *current) onDocumentFragment1371() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment455() (interface{}, error) { +func (p *parser) callonDocumentFragment1371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment455(stack["start"], stack["content"], stack["end"]) + return p.cur.onDocumentFragment1371() } -func (c *current) onDocumentFragment559() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentFragment1374() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment559() (interface{}, error) { +func (p *parser) callonDocumentFragment1374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment559() + return p.cur.onDocumentFragment1374() } -func (c *current) onDocumentFragment565() (interface{}, error) { +func (c *current) onDocumentFragment1391() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment565() (interface{}, error) { +func (p *parser) callonDocumentFragment1391() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment565() + return p.cur.onDocumentFragment1391() } -func (c *current) onDocumentFragment568() (interface{}, error) { +func (c *current) onDocumentFragment1394() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment568() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment568() -} - -func (c *current) onDocumentFragment556(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - -} - -func (p *parser) callonDocumentFragment556() (interface{}, error) { +func (p *parser) callonDocumentFragment1394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment556(stack["delimiter"]) + return p.cur.onDocumentFragment1394() } -func (c *current) onDocumentFragment575(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - +func (c *current) onDocumentFragment1383() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment575() (bool, error) { +func (p *parser) callonDocumentFragment1383() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment575(stack["start"]) + return p.cur.onDocumentFragment1383() } -func (c *current) onDocumentFragment587() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onDocumentFragment1404() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment587() (interface{}, error) { +func (p *parser) callonDocumentFragment1404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment587() + return p.cur.onDocumentFragment1404() } -func (c *current) onDocumentFragment593() (interface{}, error) { +func (c *current) onDocumentFragment1407() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment593() (interface{}, error) { +func (p *parser) callonDocumentFragment1407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment593() + return p.cur.onDocumentFragment1407() } -func (c *current) onDocumentFragment596() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDocumentFragment1367(content interface{}) (interface{}, error) { + return types.NewYamlFrontMatter(content.(string)) } -func (p *parser) callonDocumentFragment596() (interface{}, error) { +func (p *parser) callonDocumentFragment1367() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment596() + return p.cur.onDocumentFragment1367(stack["content"]) } -func (c *current) onDocumentFragment584(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDocumentFragment1363(frontmatter interface{}) (interface{}, error) { + return frontmatter, nil } -func (p *parser) callonDocumentFragment584() (interface{}, error) { +func (p *parser) callonDocumentFragment1363() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment584(stack["delimiter"]) + return p.cur.onDocumentFragment1363(stack["frontmatter"]) } -func (c *current) onDocumentFragment603(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { + c.disableFrontMatterRule() // not allowed as soon as a single element is found + c.disableDocumentHeaderRule() // not allowed anymore, based on element that was found + + if element, ok := element.(types.WithAttributes); ok && attributes != nil { + element.AddAttributes(attributes.(types.Attributes)) + } + return element, nil } -func (p *parser) callonDocumentFragment603() (bool, error) { +func (p *parser) callonDocumentFragment1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment603(stack["end"]) + return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) } -func (c *current) onDocumentFragment613() (interface{}, error) { - +func (c *current) onDelimitedBlockElements10() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentFragment613() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment613() + return p.cur.onDelimitedBlockElements10() } -func (c *current) onDocumentFragment617() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentFragment617() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment617() + return p.cur.onDelimitedBlockElements6(stack["ref"]) } -func (c *current) onDocumentFragment607(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonDocumentFragment607() (interface{}, error) { +func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment607(stack["content"]) + return p.cur.onDelimitedBlockElements1(stack["elements"]) } -func (c *current) onDocumentFragment578(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onAttributeDeclaration5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment578() (interface{}, error) { +func (p *parser) callonAttributeDeclaration5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment578(stack["line"]) + return p.cur.onAttributeDeclaration5() } -func (c *current) onDocumentFragment632() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onAttributeDeclaration15() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDocumentFragment632() (interface{}, error) { +func (p *parser) callonAttributeDeclaration15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment632() + return p.cur.onAttributeDeclaration15() } -func (c *current) onDocumentFragment638() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonDocumentFragment638() (interface{}, error) { +func (p *parser) callonAttributeDeclaration13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment638() + return p.cur.onAttributeDeclaration13(stack["value"]) } -func (c *current) onDocumentFragment641() (interface{}, error) { +func (c *current) onAttributeDeclaration21() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment641() (interface{}, error) { +func (p *parser) callonAttributeDeclaration21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment641() + return p.cur.onAttributeDeclaration21() } -func (c *current) onDocumentFragment629(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { + return types.NewAttributeDeclaration(name.(string), value, string(c.text)) } -func (p *parser) callonDocumentFragment629() (interface{}, error) { +func (p *parser) callonAttributeDeclaration1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment629(stack["delimiter"]) + return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) } -func (c *current) onDocumentFragment648(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onAttributeDeclarationValue14() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment648() (bool, error) { +func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment648(stack["end"]) + return p.cur.onAttributeDeclarationValue14() } -func (c *current) onDocumentFragment553(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) - +func (c *current) onAttributeDeclarationValue17() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment553() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment553(stack["start"], stack["content"], stack["end"]) + return p.cur.onAttributeDeclarationValue17() } -func (c *current) onDocumentFragment663() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue26() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment663() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment663() + return p.cur.onAttributeDeclarationValue26() } -func (c *current) onDocumentFragment666() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue29() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment666() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment666() + return p.cur.onAttributeDeclarationValue29() } -func (c *current) onDocumentFragment657() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onAttributeDeclarationValue33() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentFragment657() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment657() + return p.cur.onAttributeDeclarationValue33() } -func (c *current) onDocumentFragment675() (interface{}, error) { - +func (c *current) onAttributeDeclarationValue40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment675() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment675() + return p.cur.onAttributeDeclarationValue40() } -func (c *current) onDocumentFragment679() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onAttributeDeclarationValue52() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment679() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment679() + return p.cur.onAttributeDeclarationValue52() } -func (c *current) onDocumentFragment654(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onAttributeDeclarationValue54() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment654() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment654(stack["content"]) + return p.cur.onAttributeDeclarationValue54() } -func (c *current) onDocumentFragment698() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment698() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment698() + return p.cur.onAttributeDeclarationValue47(stack["start"]) } -func (c *current) onDocumentFragment701() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment701() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment701() + return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment692() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onAttributeDeclarationValue62() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment692() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment692() + return p.cur.onAttributeDeclarationValue62() } -func (c *current) onDocumentFragment710() (interface{}, error) { - +func (c *current) onAttributeDeclarationValue74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment710() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment710() + return p.cur.onAttributeDeclarationValue74() } -func (c *current) onDocumentFragment714() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue76() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment714() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment714() + return p.cur.onAttributeDeclarationValue76() } -func (c *current) onDocumentFragment689(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment689() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment689(stack["content"]) + return p.cur.onAttributeDeclarationValue69(stack["start"]) } -func (c *current) onDocumentFragment724() (interface{}, error) { - - return string(c.text), nil - +func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment724() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment724() + return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment727(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onAttributeDeclarationValue84() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment727() (bool, error) { +func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment727(stack["content"]) + return p.cur.onAttributeDeclarationValue84() } -func (c *current) onDocumentFragment729() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonDocumentFragment729() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment729() + return p.cur.onAttributeDeclarationValue80(stack["name"]) } -func (c *current) onDocumentFragment721(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onAttributeDeclarationValue94() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment721() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment721(stack["content"]) + return p.cur.onAttributeDeclarationValue94() } -func (c *current) onDocumentFragment651(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) +func (c *current) onAttributeDeclarationValue90(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment651() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment651(stack["firstLine"], stack["otherLines"]) + return p.cur.onAttributeDeclarationValue90(stack["name"]) } -func (c *current) onDocumentFragment742() (interface{}, error) { - // sequence of exactly "--" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentFragment742() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment742() + return p.cur.onAttributeDeclarationValue31(stack["element"]) } -func (c *current) onDocumentFragment745() (interface{}, error) { - return string(c.text), nil +func (c *current) onAttributeDeclarationValue100() (interface{}, error) { + // standalone '{' + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment745() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment745() + return p.cur.onAttributeDeclarationValue100() } -func (c *current) onDocumentFragment748() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { + + return element, nil + } -func (p *parser) callonDocumentFragment748() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment748() + return p.cur.onAttributeDeclarationValue7(stack["element"]) } -func (c *current) onDocumentFragment739(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) +func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { + return elements.([]interface{}), nil } -func (p *parser) callonDocumentFragment739() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment739(stack["delimiter"]) + return p.cur.onAttributeDeclarationValue4(stack["elements"]) } -func (c *current) onDocumentFragment764() (interface{}, error) { - // sequence of exactly "--" +func (c *current) onAttributeDeclarationValue107() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment764() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment764() + return p.cur.onAttributeDeclarationValue107() } -func (c *current) onDocumentFragment767() (interface{}, error) { +func (c *current) onAttributeDeclarationValue113() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment767() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment767() + return p.cur.onAttributeDeclarationValue113() } -func (c *current) onDocumentFragment770() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onAttributeDeclarationValue104(elements interface{}) (interface{}, error) { + return elements, nil + } -func (p *parser) callonDocumentFragment770() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment770() + return p.cur.onAttributeDeclarationValue104(stack["elements"]) } -func (c *current) onDocumentFragment761(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) +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) callonDocumentFragment761() (interface{}, error) { +func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment761(stack["delimiter"]) + return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) } -func (c *current) onDocumentFragment786() (interface{}, error) { - - return string(c.text), 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) callonDocumentFragment786() (interface{}, error) { +func (p *parser) callonBlockAttributes16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment786() + return p.cur.onBlockAttributes16() } -func (c *current) onDocumentFragment790() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes23() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment790() (interface{}, error) { +func (p *parser) callonBlockAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment790() + return p.cur.onBlockAttributes23() } -func (c *current) onDocumentFragment780(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentFragment780() (interface{}, error) { +func (p *parser) callonBlockAttributes19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment780(stack["content"]) + return p.cur.onBlockAttributes19(stack["ref"]) } -func (c *current) onDocumentFragment757(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onBlockAttributes29() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentFragment757() (interface{}, error) { +func (p *parser) callonBlockAttributes29() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment757(stack["line"]) + return p.cur.onBlockAttributes29() } -func (c *current) onDocumentFragment803() (interface{}, error) { - // sequence of exactly "--" +func (c *current) onBlockAttributes36() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment803() (interface{}, error) { +func (p *parser) callonBlockAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment803() + return p.cur.onBlockAttributes36() } -func (c *current) onDocumentFragment806() (interface{}, error) { +func (c *current) onBlockAttributes48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment806() (interface{}, error) { +func (p *parser) callonBlockAttributes48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment806() + return p.cur.onBlockAttributes48() } -func (c *current) onDocumentFragment809() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes50() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment809() (interface{}, error) { +func (p *parser) callonBlockAttributes50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment809() + return p.cur.onBlockAttributes50() } -func (c *current) onDocumentFragment800(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) +func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment800() (interface{}, error) { +func (p *parser) callonBlockAttributes43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment800(stack["delimiter"]) + return p.cur.onBlockAttributes43(stack["start"]) } -func (c *current) onDocumentFragment736(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Open, content.([]interface{})) - +func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment736() (interface{}, error) { +func (p *parser) callonBlockAttributes32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment736(stack["start"], stack["content"], stack["end"]) + return p.cur.onBlockAttributes32(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment824() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onBlockAttributes58() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment824() (interface{}, error) { +func (p *parser) callonBlockAttributes58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment824() + return p.cur.onBlockAttributes58() } -func (c *current) onDocumentFragment830() (interface{}, error) { +func (c *current) onBlockAttributes70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment830() (interface{}, error) { +func (p *parser) callonBlockAttributes70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment830() + return p.cur.onBlockAttributes70() } -func (c *current) onDocumentFragment833() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes72() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment833() (interface{}, error) { +func (p *parser) callonBlockAttributes72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment833() + return p.cur.onBlockAttributes72() } -func (c *current) onDocumentFragment821(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment821() (interface{}, error) { +func (p *parser) callonBlockAttributes65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment821(stack["delimiter"]) + return p.cur.onBlockAttributes65(stack["start"]) } -func (c *current) onDocumentFragment840(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) - +func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment840() (bool, error) { +func (p *parser) callonBlockAttributes54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment840(stack["start"]) + return p.cur.onBlockAttributes54(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment852() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onBlockAttributes80() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment852() (interface{}, error) { +func (p *parser) callonBlockAttributes80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment852() + return p.cur.onBlockAttributes80() } -func (c *current) onDocumentFragment858() (interface{}, error) { - return string(c.text), nil +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) callonDocumentFragment858() (interface{}, error) { +func (p *parser) callonBlockAttributes76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment858() + return p.cur.onBlockAttributes76(stack["name"]) } -func (c *current) onDocumentFragment861() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes90() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment861() (interface{}, error) { +func (p *parser) callonBlockAttributes90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment861() + return p.cur.onBlockAttributes90() } -func (c *current) onDocumentFragment849(delimiter interface{}) (interface{}, error) { +func (c *current) onBlockAttributes86(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment849() (interface{}, error) { +func (p *parser) callonBlockAttributes86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment849(stack["delimiter"]) + return p.cur.onBlockAttributes86(stack["name"]) } -func (c *current) onDocumentFragment868(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentFragment868() (bool, error) { +func (p *parser) callonBlockAttributes27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment868(stack["end"]) + return p.cur.onBlockAttributes27(stack["element"]) } -func (c *current) onDocumentFragment878() (interface{}, error) { +func (c *current) onBlockAttributes96() (interface{}, error) { - return string(c.text), nil + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment878() (interface{}, error) { +func (p *parser) callonBlockAttributes96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment878() + return p.cur.onBlockAttributes96() } -func (c *current) onDocumentFragment882() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil + } -func (p *parser) callonDocumentFragment882() (interface{}, error) { +func (p *parser) callonBlockAttributes12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment882() + return p.cur.onBlockAttributes12(stack["elements"]) } -func (c *current) onDocumentFragment872(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonDocumentFragment872() (interface{}, error) { +func (p *parser) callonBlockAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment872(stack["content"]) + return p.cur.onBlockAttributes8(stack["id"]) } -func (c *current) onDocumentFragment843(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onBlockAttributes100() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment843() (interface{}, error) { +func (p *parser) callonBlockAttributes100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment843(stack["line"]) + return p.cur.onBlockAttributes100() } -func (c *current) onDocumentFragment897() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onBlockAttributes103() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment897() (interface{}, error) { +func (p *parser) callonBlockAttributes103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment897() + return p.cur.onBlockAttributes103() } -func (c *current) onDocumentFragment903() (interface{}, error) { +func (c *current) onBlockAttributes117() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment903() (interface{}, error) { +func (p *parser) callonBlockAttributes117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment903() + return p.cur.onBlockAttributes117() } -func (c *current) onDocumentFragment906() (interface{}, error) { +func (c *current) onBlockAttributes120() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment906() (interface{}, error) { +func (p *parser) callonBlockAttributes120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment906() + return p.cur.onBlockAttributes120() } -func (c *current) onDocumentFragment894(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onBlockAttributes111() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment894() (interface{}, error) { +func (p *parser) callonBlockAttributes111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment894(stack["delimiter"]) + return p.cur.onBlockAttributes111() } -func (c *current) onDocumentFragment913(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { + return anchor, nil } -func (p *parser) callonDocumentFragment913() (bool, error) { +func (p *parser) callonBlockAttributes5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment913(stack["end"]) + return p.cur.onBlockAttributes5(stack["anchor"]) } -func (c *current) onDocumentFragment818(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) +func (c *current) onBlockAttributes143() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment818() (interface{}, error) { +func (p *parser) callonBlockAttributes143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment818(stack["start"], stack["content"], stack["end"]) + return p.cur.onBlockAttributes143() } -func (c *current) onDocumentFragment922() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onBlockAttributes148() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment922() (interface{}, error) { +func (p *parser) callonBlockAttributes148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment922() + return p.cur.onBlockAttributes148() } -func (c *current) onDocumentFragment928() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes138() (interface{}, error) { + // TODO: also allow trailing quotes/quotation marks? + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment928() (interface{}, error) { +func (p *parser) callonBlockAttributes138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment928() + return p.cur.onBlockAttributes138() } -func (c *current) onDocumentFragment931() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes155() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment931() (interface{}, error) { +func (p *parser) callonBlockAttributes155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment931() + return p.cur.onBlockAttributes155() } -func (c *current) onDocumentFragment919(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onBlockAttributes161() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment919() (interface{}, error) { +func (p *parser) callonBlockAttributes161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment919(stack["delimiter"]) + return p.cur.onBlockAttributes161() } -func (c *current) onDocumentFragment938(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +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) callonDocumentFragment938() (bool, error) { +func (p *parser) callonBlockAttributes157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment938(stack["start"]) + return p.cur.onBlockAttributes157(stack["name"]) } -func (c *current) onDocumentFragment950() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onBlockAttributes171() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment950() (interface{}, error) { +func (p *parser) callonBlockAttributes171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment950() + return p.cur.onBlockAttributes171() } -func (c *current) onDocumentFragment956() (interface{}, error) { - return string(c.text), nil +func (c *current) onBlockAttributes167(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment956() (interface{}, error) { +func (p *parser) callonBlockAttributes167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment956() + return p.cur.onBlockAttributes167(stack["name"]) } -func (c *current) onDocumentFragment959() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes177() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment959() (interface{}, error) { +func (p *parser) callonBlockAttributes177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment959() + return p.cur.onBlockAttributes177() } -func (c *current) onDocumentFragment947(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onBlockAttributes130(elements interface{}) (interface{}, error) { + return types.NewTitleAttribute(types.Reduce(elements, strings.TrimSpace)) } -func (p *parser) callonDocumentFragment947() (interface{}, error) { +func (p *parser) callonBlockAttributes130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment947(stack["delimiter"]) + return p.cur.onBlockAttributes130(stack["elements"]) } -func (c *current) onDocumentFragment966(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onBlockAttributes180() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment966() (bool, error) { +func (p *parser) callonBlockAttributes180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment966(stack["end"]) + return p.cur.onBlockAttributes180() +} + +func (c *current) onBlockAttributes183() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (c *current) onDocumentFragment976() (interface{}, error) { +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) callonDocumentFragment976() (interface{}, error) { +func (p *parser) callonBlockAttributes197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment976() + return p.cur.onBlockAttributes197() } -func (c *current) onDocumentFragment980() (interface{}, error) { +func (c *current) onBlockAttributes200() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentFragment980() (interface{}, error) { +func (p *parser) callonBlockAttributes200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment980() + return p.cur.onBlockAttributes200() } -func (c *current) onDocumentFragment970(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onBlockAttributes191() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment970() (interface{}, error) { +func (p *parser) callonBlockAttributes191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment970(stack["content"]) + return p.cur.onBlockAttributes191() } -func (c *current) onDocumentFragment941(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onBlockAttributes127(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonDocumentFragment941() (interface{}, error) { +func (p *parser) callonBlockAttributes127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment941(stack["line"]) + return p.cur.onBlockAttributes127(stack["title"]) } -func (c *current) onDocumentFragment995() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onBlockAttributes212() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment995() (interface{}, error) { +func (p *parser) callonBlockAttributes212() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment995() + return p.cur.onBlockAttributes212() } -func (c *current) onDocumentFragment1001() (interface{}, error) { +func (c *current) onBlockAttributes215() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDocumentFragment1001() (interface{}, error) { +func (p *parser) callonBlockAttributes215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1001() + return p.cur.onBlockAttributes215() } -func (c *current) onDocumentFragment1004() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onBlockAttributes229() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1004() (interface{}, error) { +func (p *parser) callonBlockAttributes229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1004() + return p.cur.onBlockAttributes229() } -func (c *current) onDocumentFragment992(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) - +func (c *current) onBlockAttributes232() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDocumentFragment992() (interface{}, error) { +func (p *parser) callonBlockAttributes232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment992(stack["delimiter"]) + return p.cur.onBlockAttributes232() } -func (c *current) onDocumentFragment1011(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onBlockAttributes223() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonDocumentFragment1011() (bool, error) { +func (p *parser) callonBlockAttributes223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1011(stack["end"]) + return p.cur.onBlockAttributes223() } -func (c *current) onDocumentFragment916(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) +func (c *current) onBlockAttributes207(attributes interface{}) (interface{}, error) { + return attributes, nil } -func (p *parser) callonDocumentFragment916() (interface{}, error) { +func (p *parser) callonBlockAttributes207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment916(stack["start"], stack["content"], stack["end"]) + return p.cur.onBlockAttributes207(stack["attributes"]) } -func (c *current) onDocumentFragment1020() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { + // c.unsetCurrentSubstitution() + return types.MergeAttributes(attributes.([]interface{})...) } -func (p *parser) callonDocumentFragment1020() (interface{}, error) { +func (p *parser) callonBlockAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1020() + return p.cur.onBlockAttributes1(stack["attributes"]) } -func (c *current) onDocumentFragment1026() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { + return attribute, nil } -func (p *parser) callonDocumentFragment1026() (interface{}, error) { +func (p *parser) callonInlineAttributes6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1026() + return p.cur.onInlineAttributes6(stack["attribute"]) } -func (c *current) onDocumentFragment1029() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { + return types.NewAttributes(attributes.([]interface{})...) + } -func (p *parser) callonDocumentFragment1029() (interface{}, error) { +func (p *parser) callonInlineAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1029() + return p.cur.onInlineAttributes1(stack["attributes"]) } -func (c *current) onDocumentFragment1017(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onLongHandAttributes27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1017() (interface{}, error) { +func (p *parser) callonLongHandAttributes27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1017(stack["delimiter"]) + return p.cur.onLongHandAttributes27() } -func (c *current) onDocumentFragment1036(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onLongHandAttributes30() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1036() (bool, error) { +func (p *parser) callonLongHandAttributes30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1036(stack["start"]) + return p.cur.onLongHandAttributes30() } -func (c *current) onDocumentFragment1048() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onLongHandAttributes32() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDocumentFragment1048() (interface{}, error) { +func (p *parser) callonLongHandAttributes32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1048() + return p.cur.onLongHandAttributes32() } -func (c *current) onDocumentFragment1054() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes34() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDocumentFragment1054() (interface{}, error) { +func (p *parser) callonLongHandAttributes34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1054() + return p.cur.onLongHandAttributes34() } -func (c *current) onDocumentFragment1057() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes36() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonDocumentFragment1057() (interface{}, error) { +func (p *parser) callonLongHandAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1057() + return p.cur.onLongHandAttributes36() } -func (c *current) onDocumentFragment1045(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onLongHandAttributes38() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDocumentFragment1045() (interface{}, error) { +func (p *parser) callonLongHandAttributes38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1045(stack["delimiter"]) + return p.cur.onLongHandAttributes38() } -func (c *current) onDocumentFragment1064(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onLongHandAttributes42() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentFragment1064() (bool, error) { +func (p *parser) callonLongHandAttributes42() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1064(stack["end"]) + return p.cur.onLongHandAttributes42() } -func (c *current) onDocumentFragment1074() (interface{}, error) { - +func (c *current) onLongHandAttributes49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1074() (interface{}, error) { +func (p *parser) callonLongHandAttributes49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1074() + return p.cur.onLongHandAttributes49() } -func (c *current) onDocumentFragment1078() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes61() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1078() (interface{}, error) { +func (p *parser) callonLongHandAttributes61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1078() + return p.cur.onLongHandAttributes61() } -func (c *current) onDocumentFragment1068(content interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes63() (interface{}, error) { - return types.NewRawLine(content.(string)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment1068() (interface{}, error) { +func (p *parser) callonLongHandAttributes63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1068(stack["content"]) + return p.cur.onLongHandAttributes63() } -func (c *current) onDocumentFragment1039(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onLongHandAttributes56(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment1039() (interface{}, error) { +func (p *parser) callonLongHandAttributes56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1039(stack["line"]) + return p.cur.onLongHandAttributes56(stack["start"]) } -func (c *current) onDocumentFragment1093() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil - +func (c *current) onLongHandAttributes45(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment1093() (interface{}, error) { +func (p *parser) callonLongHandAttributes45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1093() + return p.cur.onLongHandAttributes45(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1099() (interface{}, error) { +func (c *current) onLongHandAttributes71() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1099() (interface{}, error) { +func (p *parser) callonLongHandAttributes71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1099() + return p.cur.onLongHandAttributes71() } -func (c *current) onDocumentFragment1102() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes83() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1102() (interface{}, error) { +func (p *parser) callonLongHandAttributes83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1102() + return p.cur.onLongHandAttributes83() } -func (c *current) onDocumentFragment1090(delimiter interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes85() (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment1090() (interface{}, error) { +func (p *parser) callonLongHandAttributes85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1090(stack["delimiter"]) + return p.cur.onLongHandAttributes85() } -func (c *current) onDocumentFragment1109(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onLongHandAttributes78(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment1109() (bool, error) { +func (p *parser) callonLongHandAttributes78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1109(stack["end"]) + return p.cur.onLongHandAttributes78(stack["start"]) } -func (c *current) onDocumentFragment1014(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) - +func (c *current) onLongHandAttributes67(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment1014() (interface{}, error) { +func (p *parser) callonLongHandAttributes67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1014(stack["start"], stack["content"], stack["end"]) + return p.cur.onLongHandAttributes67(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1123() (interface{}, error) { +func (c *current) onLongHandAttributes93() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1123() (interface{}, error) { +func (p *parser) callonLongHandAttributes93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1123() + return p.cur.onLongHandAttributes93() } -func (c *current) onDocumentFragment1126() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonDocumentFragment1126() (interface{}, error) { +func (p *parser) callonLongHandAttributes89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1126() + return p.cur.onLongHandAttributes89(stack["name"]) } -func (c *current) onDocumentFragment1134() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes103() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1134() (interface{}, error) { +func (p *parser) callonLongHandAttributes103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1134() + return p.cur.onLongHandAttributes103() } -func (c *current) onDocumentFragment1112() (interface{}, error) { +func (c *current) onLongHandAttributes99(name interface{}) (interface{}, error) { - return types.NewThematicBreak() + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment1112() (interface{}, error) { +func (p *parser) callonLongHandAttributes99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1112() + return p.cur.onLongHandAttributes99(stack["name"]) } -func (c *current) onDocumentFragment1146() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes40(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentFragment1146() (interface{}, error) { +func (p *parser) callonLongHandAttributes40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1146() -} - -func (c *current) onDocumentFragment1149() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onLongHandAttributes40(stack["element"]) } -func (p *parser) callonDocumentFragment1149() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentFragment1149() -} +func (c *current) onLongHandAttributes109() (interface{}, error) { -func (c *current) onDocumentFragment1165() (interface{}, error) { - return string(c.text), nil + return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonDocumentFragment1165() (interface{}, error) { +func (p *parser) callonLongHandAttributes109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1165() + return p.cur.onLongHandAttributes109() } -func (c *current) onDocumentFragment1168() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonDocumentFragment1168() (interface{}, error) { +func (p *parser) callonLongHandAttributes113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1168() + return p.cur.onLongHandAttributes113() } -func (c *current) onDocumentFragment1159() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLongHandAttributes115() (interface{}, error) { + // = and , signs are allowed within '' quoted values + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment1159() (interface{}, error) { +func (p *parser) callonLongHandAttributes115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1159() + return p.cur.onLongHandAttributes115() } -func (c *current) onDocumentFragment1182() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes23(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonDocumentFragment1182() (interface{}, error) { +func (p *parser) callonLongHandAttributes23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1182() + return p.cur.onLongHandAttributes23(stack["elements"]) } -func (c *current) onDocumentFragment1185() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes17(content interface{}) (interface{}, error) { + return content, nil + } -func (p *parser) callonDocumentFragment1185() (interface{}, error) { +func (p *parser) callonLongHandAttributes17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1185() + return p.cur.onLongHandAttributes17(stack["content"]) } -func (c *current) onDocumentFragment1207() (interface{}, error) { +func (c *current) onLongHandAttributes129() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1207() (interface{}, error) { +func (p *parser) callonLongHandAttributes129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1207() + return p.cur.onLongHandAttributes129() } -func (c *current) onDocumentFragment1212() (interface{}, error) { +func (c *current) onLongHandAttributes132() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1212() (interface{}, error) { +func (p *parser) callonLongHandAttributes132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1212() + return p.cur.onLongHandAttributes132() } -func (c *current) onDocumentFragment1210(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onLongHandAttributes134() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDocumentFragment1210() (interface{}, error) { +func (p *parser) callonLongHandAttributes134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1210(stack["content"]) + return p.cur.onLongHandAttributes134() } -func (c *current) onDocumentFragment1203(content interface{}) (interface{}, error) { - return types.NewInlineTableCell(content.(types.RawLine)) +func (c *current) onLongHandAttributes136() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDocumentFragment1203() (interface{}, error) { +func (p *parser) callonLongHandAttributes136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1203(stack["content"]) + return p.cur.onLongHandAttributes136() } -func (c *current) onDocumentFragment1216() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes138() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonDocumentFragment1216() (interface{}, error) { +func (p *parser) callonLongHandAttributes138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1216() + return p.cur.onLongHandAttributes138() } -func (c *current) onDocumentFragment1199(cells interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes140() (interface{}, error) { + return types.NewSymbol("`'") - return cells, nil } -func (p *parser) callonDocumentFragment1199() (interface{}, error) { +func (p *parser) callonLongHandAttributes140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1199(stack["cells"]) + return p.cur.onLongHandAttributes140() } -func (c *current) onDocumentFragment1233() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes144() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentFragment1233() (interface{}, error) { +func (p *parser) callonLongHandAttributes144() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1233() + return p.cur.onLongHandAttributes144() } -func (c *current) onDocumentFragment1236() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes151() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1236() (interface{}, error) { +func (p *parser) callonLongHandAttributes151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1236() + return p.cur.onLongHandAttributes151() } -func (c *current) onDocumentFragment1252() (interface{}, error) { +func (c *current) onLongHandAttributes163() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1252() (interface{}, error) { +func (p *parser) callonLongHandAttributes163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1252() + return p.cur.onLongHandAttributes163() } -func (c *current) onDocumentFragment1255() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes165() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment1255() (interface{}, error) { +func (p *parser) callonLongHandAttributes165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1255() + return p.cur.onLongHandAttributes165() } -func (c *current) onDocumentFragment1246() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLongHandAttributes158(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment1246() (interface{}, error) { +func (p *parser) callonLongHandAttributes158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1246() + return p.cur.onLongHandAttributes158(stack["start"]) } -func (c *current) onDocumentFragment1264() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes147(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment1264() (interface{}, error) { +func (p *parser) callonLongHandAttributes147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1264() + return p.cur.onLongHandAttributes147(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1269() (interface{}, error) { +func (c *current) onLongHandAttributes173() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1269() (interface{}, error) { +func (p *parser) callonLongHandAttributes173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1269() + return p.cur.onLongHandAttributes173() } -func (c *current) onDocumentFragment1272() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes185() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1272() (interface{}, error) { +func (p *parser) callonLongHandAttributes185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1272() + return p.cur.onLongHandAttributes185() } -func (c *current) onDocumentFragment1286() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes187() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment1286() (interface{}, error) { +func (p *parser) callonLongHandAttributes187() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1286() + return p.cur.onLongHandAttributes187() } -func (c *current) onDocumentFragment1289() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes180(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentFragment1289() (interface{}, error) { +func (p *parser) callonLongHandAttributes180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1289() + return p.cur.onLongHandAttributes180(stack["start"]) } -func (c *current) onDocumentFragment1305() (interface{}, error) { - return string(c.text), nil - +func (c *current) onLongHandAttributes169(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment1305() (interface{}, error) { +func (p *parser) callonLongHandAttributes169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1305() + return p.cur.onLongHandAttributes169(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1308() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes195() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1308() (interface{}, error) { +func (p *parser) callonLongHandAttributes195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1308() + return p.cur.onLongHandAttributes195() } -func (c *current) onDocumentFragment1299() (interface{}, error) { - return types.NewBlankLine() +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) callonDocumentFragment1299() (interface{}, error) { +func (p *parser) callonLongHandAttributes191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1299() + return p.cur.onLongHandAttributes191(stack["name"]) } -func (c *current) onDocumentFragment1319() (interface{}, error) { +func (c *current) onLongHandAttributes205() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1319() (interface{}, error) { +func (p *parser) callonLongHandAttributes205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1319() + return p.cur.onLongHandAttributes205() } -func (c *current) onDocumentFragment1324() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes201(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentFragment1324() (interface{}, error) { +func (p *parser) callonLongHandAttributes201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1324() + return p.cur.onLongHandAttributes201(stack["name"]) } -func (c *current) onDocumentFragment1329() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes142(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDocumentFragment1329() (interface{}, error) { +func (p *parser) callonLongHandAttributes142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1329() + return p.cur.onLongHandAttributes142(stack["element"]) } -func (c *current) onDocumentFragment1279(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onLongHandAttributes211() (interface{}, error) { + + return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonDocumentFragment1279() (interface{}, error) { +func (p *parser) callonLongHandAttributes211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1279(stack["content"]) + return p.cur.onLongHandAttributes211() } -func (c *current) onDocumentFragment1226(format, content interface{}) (interface{}, error) { - return types.NewMultilineTableCell(content.([]interface{}), format) +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) callonDocumentFragment1226() (interface{}, error) { +func (p *parser) callonLongHandAttributes216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1226(stack["format"], stack["content"]) + return p.cur.onLongHandAttributes216() } -func (c *current) onDocumentFragment1223(cells interface{}) (interface{}, error) { - return cells, nil +func (c *current) onLongHandAttributes218() (interface{}, error) { + // = and , signs are allowed within " quoted values + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentFragment1223() (interface{}, error) { +func (p *parser) callonLongHandAttributes218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1223(stack["cells"]) + return p.cur.onLongHandAttributes218() } -func (c *current) onDocumentFragment1196(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onLongHandAttributes125(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonDocumentFragment1196() (interface{}, error) { +func (p *parser) callonLongHandAttributes125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1196(stack["cells"]) + return p.cur.onLongHandAttributes125(stack["elements"]) } -func (c *current) onDocumentFragment1342() (interface{}, error) { +func (c *current) onLongHandAttributes226() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1342() (interface{}, error) { +func (p *parser) callonLongHandAttributes226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1342() + return p.cur.onLongHandAttributes226() } -func (c *current) onDocumentFragment1345() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes119(content interface{}) (interface{}, error) { + return content, nil + } -func (p *parser) callonDocumentFragment1345() (interface{}, error) { +func (p *parser) callonLongHandAttributes119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1345() + return p.cur.onLongHandAttributes119(stack["content"]) } -func (c *current) onDocumentFragment1336() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLongHandAttributes234() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDocumentFragment1336() (interface{}, error) { +func (p *parser) callonLongHandAttributes234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1336() + return p.cur.onLongHandAttributes234() } -func (c *current) onDocumentFragment1175(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onLongHandAttributes236() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDocumentFragment1175() (interface{}, error) { +func (p *parser) callonLongHandAttributes236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1175(stack["content"]) + return p.cur.onLongHandAttributes236() } -func (c *current) onDocumentFragment1356() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes238() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonDocumentFragment1356() (interface{}, error) { +func (p *parser) callonLongHandAttributes238() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1356() + return p.cur.onLongHandAttributes238() } -func (c *current) onDocumentFragment1359() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes240() (interface{}, error) { + return types.NewSymbol("`'") + } -func (p *parser) callonDocumentFragment1359() (interface{}, error) { +func (p *parser) callonLongHandAttributes240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1359() + return p.cur.onLongHandAttributes240() } -func (c *current) onDocumentFragment1142(lines interface{}) (interface{}, error) { - return types.NewTable(lines.([]interface{})) +func (c *current) onLongHandAttributes242() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentFragment1142() (interface{}, error) { +func (p *parser) callonLongHandAttributes242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1142(stack["lines"]) + return p.cur.onLongHandAttributes242() } -func (c *current) onDocumentFragment1374() (interface{}, error) { - - return string(c.text), nil +func (c *current) onLongHandAttributes247() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentFragment1374() (interface{}, error) { +func (p *parser) callonLongHandAttributes247() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1374() + return p.cur.onLongHandAttributes247() } -func (c *current) onDocumentFragment1378() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes254() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1378() (interface{}, error) { +func (p *parser) callonLongHandAttributes254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1378() + return p.cur.onLongHandAttributes254() } -func (c *current) onDocumentFragment1368(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onLongHandAttributes266() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1368() (interface{}, error) { +func (p *parser) callonLongHandAttributes266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1368(stack["content"]) + return p.cur.onLongHandAttributes266() } -func (c *current) onDocumentFragment1387() (bool, error) { - return c.isFrontMatterAllowed(), nil +func (c *current) onLongHandAttributes268() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentFragment1387() (bool, error) { +func (p *parser) callonLongHandAttributes268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1387() + return p.cur.onLongHandAttributes268() } -func (c *current) onDocumentFragment1393() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes261(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment1393() (interface{}, error) { +func (p *parser) callonLongHandAttributes261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1393() + return p.cur.onLongHandAttributes261(stack["start"]) } -func (c *current) onDocumentFragment1396() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes250(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentFragment1396() (interface{}, error) { +func (p *parser) callonLongHandAttributes250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1396() + return p.cur.onLongHandAttributes250(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1413() (interface{}, error) { +func (c *current) onLongHandAttributes276() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentFragment1413() (interface{}, error) { +func (p *parser) callonLongHandAttributes276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1413() + return p.cur.onLongHandAttributes276() } -func (c *current) onDocumentFragment1416() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes288() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentFragment1416() (interface{}, error) { +func (p *parser) callonLongHandAttributes288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1416() + return p.cur.onLongHandAttributes288() } -func (c *current) onDocumentFragment1405() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes290() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentFragment1405() (interface{}, error) { +func (p *parser) callonLongHandAttributes290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1405() + return p.cur.onLongHandAttributes290() } -func (c *current) onDocumentFragment1426() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes283(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentFragment1426() (interface{}, error) { +func (p *parser) callonLongHandAttributes283() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1426() + return p.cur.onLongHandAttributes283(stack["start"]) } -func (c *current) onDocumentFragment1429() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes272(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentFragment1429() (interface{}, error) { +func (p *parser) callonLongHandAttributes272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1429() + return p.cur.onLongHandAttributes272(stack["name"], stack["start"]) } -func (c *current) onDocumentFragment1389(content interface{}) (interface{}, error) { - return types.NewYamlFrontMatter(content.(string)) +func (c *current) onLongHandAttributes298() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonDocumentFragment1389() (interface{}, error) { +func (p *parser) callonLongHandAttributes298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1389(stack["content"]) + return p.cur.onLongHandAttributes298() } -func (c *current) onDocumentFragment1385(frontmatter interface{}) (interface{}, error) { - return frontmatter, nil +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) callonDocumentFragment1385() (interface{}, error) { +func (p *parser) callonLongHandAttributes294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1385(stack["frontmatter"]) + return p.cur.onLongHandAttributes294(stack["name"]) } -func (c *current) onDocumentFragment1(attributes, element interface{}) (interface{}, error) { - c.disableFrontMatterRule() // not allowed as soon as a single element is found - c.disableDocumentHeaderRule() // not allowed anymore, based on element that was found - - if element, ok := element.(types.WithAttributes); ok && attributes != nil { - element.AddAttributes(attributes.(types.Attributes)) - } - return element, nil +func (c *current) onLongHandAttributes308() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentFragment1() (interface{}, error) { +func (p *parser) callonLongHandAttributes308() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentFragment1(stack["attributes"], stack["element"]) + return p.cur.onLongHandAttributes308() } -func (c *current) onDelimitedBlockElements10() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes304(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDelimitedBlockElements10() (interface{}, error) { +func (p *parser) callonLongHandAttributes304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements10() + return p.cur.onLongHandAttributes304(stack["name"]) } -func (c *current) onDelimitedBlockElements6(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onLongHandAttributes245(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDelimitedBlockElements6() (interface{}, error) { +func (p *parser) callonLongHandAttributes245() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements6(stack["ref"]) + return p.cur.onLongHandAttributes245(stack["element"]) } -func (c *current) onDelimitedBlockElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onLongHandAttributes314() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDelimitedBlockElements1() (interface{}, error) { +func (p *parser) callonLongHandAttributes314() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDelimitedBlockElements1(stack["elements"]) + return p.cur.onLongHandAttributes314() } -func (c *current) onAttributeDeclaration5() (interface{}, error) { +func (c *current) onLongHandAttributes320() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclaration5() (interface{}, error) { +func (p *parser) callonLongHandAttributes320() (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 + return p.cur.onLongHandAttributes320() +} + +func (c *current) onLongHandAttributes229(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonAttributeDeclaration15() (interface{}, error) { +func (p *parser) callonLongHandAttributes229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration15() + return p.cur.onLongHandAttributes229(stack["elements"]) } -func (c *current) onAttributeDeclaration13(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onLongHandAttributes14(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) } -func (p *parser) callonAttributeDeclaration13() (interface{}, error) { +func (p *parser) callonLongHandAttributes14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration13(stack["value"]) + return p.cur.onLongHandAttributes14(stack["value"]) } -func (c *current) onAttributeDeclaration21() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes348() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonAttributeDeclaration21() (interface{}, error) { +func (p *parser) callonLongHandAttributes348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration21() + return p.cur.onLongHandAttributes348() } -func (c *current) onAttributeDeclaration1(name, value interface{}) (interface{}, error) { - return types.NewAttributeDeclaration(name.(string), value, string(c.text)) +func (c *current) onLongHandAttributes351() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclaration1() (interface{}, error) { +func (p *parser) callonLongHandAttributes351() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclaration1(stack["name"], stack["value"]) + return p.cur.onLongHandAttributes351() } -func (c *current) onAttributeDeclarationValue14() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes353() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonAttributeDeclarationValue14() (interface{}, error) { +func (p *parser) callonLongHandAttributes353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue14() + return p.cur.onLongHandAttributes353() } -func (c *current) onAttributeDeclarationValue17() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes355() (interface{}, error) { + return types.NewSymbol("`\"") + } -func (p *parser) callonAttributeDeclarationValue17() (interface{}, error) { +func (p *parser) callonLongHandAttributes355() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue17() + return p.cur.onLongHandAttributes355() } -func (c *current) onAttributeDeclarationValue26() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onLongHandAttributes357() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonAttributeDeclarationValue26() (interface{}, error) { +func (p *parser) callonLongHandAttributes357() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue26() + return p.cur.onLongHandAttributes357() } -func (c *current) onAttributeDeclarationValue29() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes359() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonAttributeDeclarationValue29() (interface{}, error) { +func (p *parser) callonLongHandAttributes359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue29() + return p.cur.onLongHandAttributes359() } -func (c *current) onAttributeDeclarationValue33() (bool, error) { +func (c *current) onLongHandAttributes363() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonAttributeDeclarationValue33() (bool, error) { +func (p *parser) callonLongHandAttributes363() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue33() + return p.cur.onLongHandAttributes363() } -func (c *current) onAttributeDeclarationValue40() (interface{}, error) { +func (c *current) onLongHandAttributes370() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue40() (interface{}, error) { +func (p *parser) callonLongHandAttributes370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue40() + return p.cur.onLongHandAttributes370() } -func (c *current) onAttributeDeclarationValue52() (interface{}, error) { +func (c *current) onLongHandAttributes382() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue52() (interface{}, error) { +func (p *parser) callonLongHandAttributes382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue52() + return p.cur.onLongHandAttributes382() } -func (c *current) onAttributeDeclarationValue54() (interface{}, error) { +func (c *current) onLongHandAttributes384() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributeDeclarationValue54() (interface{}, error) { +func (p *parser) callonLongHandAttributes384() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue54() + return p.cur.onLongHandAttributes384() } -func (c *current) onAttributeDeclarationValue47(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes377(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonAttributeDeclarationValue47() (interface{}, error) { +func (p *parser) callonLongHandAttributes377() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue47(stack["start"]) + return p.cur.onLongHandAttributes377(stack["start"]) } -func (c *current) onAttributeDeclarationValue36(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes366(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonAttributeDeclarationValue36() (interface{}, error) { +func (p *parser) callonLongHandAttributes366() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue36(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes366(stack["name"], stack["start"]) } -func (c *current) onAttributeDeclarationValue62() (interface{}, error) { +func (c *current) onLongHandAttributes392() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue62() (interface{}, error) { +func (p *parser) callonLongHandAttributes392() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue62() + return p.cur.onLongHandAttributes392() } -func (c *current) onAttributeDeclarationValue74() (interface{}, error) { +func (c *current) onLongHandAttributes404() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue74() (interface{}, error) { +func (p *parser) callonLongHandAttributes404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue74() + return p.cur.onLongHandAttributes404() } -func (c *current) onAttributeDeclarationValue76() (interface{}, error) { +func (c *current) onLongHandAttributes406() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonAttributeDeclarationValue76() (interface{}, error) { +func (p *parser) callonLongHandAttributes406() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue76() + return p.cur.onLongHandAttributes406() } -func (c *current) onAttributeDeclarationValue69(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes399(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonAttributeDeclarationValue69() (interface{}, error) { +func (p *parser) callonLongHandAttributes399() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue69(stack["start"]) + return p.cur.onLongHandAttributes399(stack["start"]) } -func (c *current) onAttributeDeclarationValue58(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes388(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonAttributeDeclarationValue58() (interface{}, error) { +func (p *parser) callonLongHandAttributes388() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue58(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes388(stack["name"], stack["start"]) } -func (c *current) onAttributeDeclarationValue84() (interface{}, error) { +func (c *current) onLongHandAttributes414() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue84() (interface{}, error) { +func (p *parser) callonLongHandAttributes414() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue84() + return p.cur.onLongHandAttributes414() } -func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes410(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -76607,293 +81126,303 @@ func (c *current) onAttributeDeclarationValue80(name interface{}) (interface{}, } -func (p *parser) callonAttributeDeclarationValue80() (interface{}, error) { +func (p *parser) callonLongHandAttributes410() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue80(stack["name"]) + return p.cur.onLongHandAttributes410(stack["name"]) } -func (c *current) onAttributeDeclarationValue94() (interface{}, error) { +func (c *current) onLongHandAttributes424() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue94() (interface{}, error) { +func (p *parser) callonLongHandAttributes424() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue94() + return p.cur.onLongHandAttributes424() } -func (c *current) onAttributeDeclarationValue90(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes420(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonAttributeDeclarationValue90() (interface{}, error) { +func (p *parser) callonLongHandAttributes420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue90(stack["name"]) + return p.cur.onLongHandAttributes420(stack["name"]) } -func (c *current) onAttributeDeclarationValue31(element interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes361(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonAttributeDeclarationValue31() (interface{}, error) { +func (p *parser) callonLongHandAttributes361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue31(stack["element"]) + return p.cur.onLongHandAttributes361(stack["element"]) } -func (c *current) onAttributeDeclarationValue100() (interface{}, error) { - // standalone '{' - return types.NewStringElement(string(c.text)) +func (c *current) onLongHandAttributes430() (interface{}, error) { + + return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonAttributeDeclarationValue100() (interface{}, error) { +func (p *parser) callonLongHandAttributes430() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue100() + return p.cur.onLongHandAttributes430() } -func (c *current) onAttributeDeclarationValue7(element interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes434() (interface{}, error) { + // quoted string delimiters or standalone backslash + return types.NewStringElement(string(c.text)) // keep as-is for now - return element, nil +} +func (p *parser) callonLongHandAttributes434() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onLongHandAttributes434() } -func (p *parser) callonAttributeDeclarationValue7() (interface{}, error) { +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.onAttributeDeclarationValue7(stack["element"]) + return p.cur.onLongHandAttributes436() } -func (c *current) onAttributeDeclarationValue4(elements interface{}) (interface{}, error) { - return elements.([]interface{}), nil +func (c *current) onLongHandAttributes344(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil } -func (p *parser) callonAttributeDeclarationValue4() (interface{}, error) { +func (p *parser) callonLongHandAttributes344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue4(stack["elements"]) + return p.cur.onLongHandAttributes344(stack["elements"]) } -func (c *current) onAttributeDeclarationValue107() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes338(content interface{}) (interface{}, error) { + return content, nil + } -func (p *parser) callonAttributeDeclarationValue107() (interface{}, error) { +func (p *parser) callonLongHandAttributes338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue107() + return p.cur.onLongHandAttributes338(stack["content"]) } -func (c *current) onAttributeDeclarationValue113() (interface{}, error) { +func (c *current) onLongHandAttributes450() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue113() (interface{}, error) { +func (p *parser) callonLongHandAttributes450() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue113() + return p.cur.onLongHandAttributes450() } -func (c *current) onAttributeDeclarationValue104(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onLongHandAttributes453() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeDeclarationValue104() (interface{}, error) { +func (p *parser) callonLongHandAttributes453() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue104(stack["elements"]) + return p.cur.onLongHandAttributes453() } -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 (c *current) onLongHandAttributes455() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonAttributeDeclarationValue1() (interface{}, error) { +func (p *parser) callonLongHandAttributes455() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeDeclarationValue1(stack["elements"], stack["otherElements"]) + return p.cur.onLongHandAttributes455() } -func (c *current) onBlockAttributes16() (interface{}, error) { - // spaces, commas and dots are allowed in this syntax - return types.NewStringElement(string(c.text)) +func (c *current) onLongHandAttributes457() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonBlockAttributes16() (interface{}, error) { +func (p *parser) callonLongHandAttributes457() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes16() + return p.cur.onLongHandAttributes457() } -func (c *current) onBlockAttributes23() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes459() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonBlockAttributes23() (interface{}, error) { +func (p *parser) callonLongHandAttributes459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes23() + return p.cur.onLongHandAttributes459() } -func (c *current) onBlockAttributes19(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onLongHandAttributes461() (interface{}, error) { + return types.NewSymbol("`'") + } -func (p *parser) callonBlockAttributes19() (interface{}, error) { +func (p *parser) callonLongHandAttributes461() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes19(stack["ref"]) + return p.cur.onLongHandAttributes461() } -func (c *current) onBlockAttributes29() (bool, error) { +func (c *current) onLongHandAttributes465() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonBlockAttributes29() (bool, error) { +func (p *parser) callonLongHandAttributes465() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes29() + return p.cur.onLongHandAttributes465() } -func (c *current) onBlockAttributes36() (interface{}, error) { +func (c *current) onLongHandAttributes472() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes36() (interface{}, error) { +func (p *parser) callonLongHandAttributes472() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes36() + return p.cur.onLongHandAttributes472() } -func (c *current) onBlockAttributes48() (interface{}, error) { +func (c *current) onLongHandAttributes484() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes48() (interface{}, error) { +func (p *parser) callonLongHandAttributes484() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes48() + return p.cur.onLongHandAttributes484() } -func (c *current) onBlockAttributes50() (interface{}, error) { +func (c *current) onLongHandAttributes486() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes50() (interface{}, error) { +func (p *parser) callonLongHandAttributes486() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes50() + return p.cur.onLongHandAttributes486() } -func (c *current) onBlockAttributes43(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes479(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonBlockAttributes43() (interface{}, error) { +func (p *parser) callonLongHandAttributes479() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes43(stack["start"]) + return p.cur.onLongHandAttributes479(stack["start"]) } -func (c *current) onBlockAttributes32(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes468(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonBlockAttributes32() (interface{}, error) { +func (p *parser) callonLongHandAttributes468() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes32(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes468(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes58() (interface{}, error) { +func (c *current) onLongHandAttributes494() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes58() (interface{}, error) { +func (p *parser) callonLongHandAttributes494() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes58() + return p.cur.onLongHandAttributes494() } -func (c *current) onBlockAttributes70() (interface{}, error) { +func (c *current) onLongHandAttributes506() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes70() (interface{}, error) { +func (p *parser) callonLongHandAttributes506() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes70() + return p.cur.onLongHandAttributes506() } -func (c *current) onBlockAttributes72() (interface{}, error) { +func (c *current) onLongHandAttributes508() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes72() (interface{}, error) { +func (p *parser) callonLongHandAttributes508() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes72() + return p.cur.onLongHandAttributes508() } -func (c *current) onBlockAttributes65(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes501(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonBlockAttributes65() (interface{}, error) { +func (p *parser) callonLongHandAttributes501() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes65(stack["start"]) + return p.cur.onLongHandAttributes501(stack["start"]) } -func (c *current) onBlockAttributes54(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes490(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonBlockAttributes54() (interface{}, error) { +func (p *parser) callonLongHandAttributes490() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes54(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes490(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes80() (interface{}, error) { +func (c *current) onLongHandAttributes516() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes80() (interface{}, error) { +func (p *parser) callonLongHandAttributes516() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes80() + return p.cur.onLongHandAttributes516() } -func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes512(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -76901,627 +81430,594 @@ func (c *current) onBlockAttributes76(name interface{}) (interface{}, error) { } -func (p *parser) callonBlockAttributes76() (interface{}, error) { +func (p *parser) callonLongHandAttributes512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes76(stack["name"]) + return p.cur.onLongHandAttributes512(stack["name"]) } -func (c *current) onBlockAttributes90() (interface{}, error) { +func (c *current) onLongHandAttributes526() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes90() (interface{}, error) { +func (p *parser) callonLongHandAttributes526() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes90() + return p.cur.onLongHandAttributes526() } -func (c *current) onBlockAttributes86(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes522(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonBlockAttributes86() (interface{}, error) { +func (p *parser) callonLongHandAttributes522() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes86(stack["name"]) + return p.cur.onLongHandAttributes522(stack["name"]) } -func (c *current) onBlockAttributes27(element interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes463(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonBlockAttributes27() (interface{}, error) { +func (p *parser) callonLongHandAttributes463() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes27(stack["element"]) + return p.cur.onLongHandAttributes463(stack["element"]) } -func (c *current) onBlockAttributes96() (interface{}, error) { +func (c *current) onLongHandAttributes532() (interface{}, error) { - return types.NewStringElement(string(c.text)) + return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonBlockAttributes96() (interface{}, error) { +func (p *parser) callonLongHandAttributes532() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes96() + return p.cur.onLongHandAttributes532() } -func (c *current) onBlockAttributes12(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +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) callonBlockAttributes12() (interface{}, error) { +func (p *parser) callonLongHandAttributes537() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes12(stack["elements"]) + return p.cur.onLongHandAttributes537() } -func (c *current) onBlockAttributes8(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onLongHandAttributes539() (interface{}, error) { + // = and , signs are allowed within " quoted values + return types.NewStringElement(string(c.text)) } -func (p *parser) callonBlockAttributes8() (interface{}, error) { +func (p *parser) callonLongHandAttributes539() (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 - + return p.cur.onLongHandAttributes539() } -func (p *parser) callonBlockAttributes100() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes100() -} +func (c *current) onLongHandAttributes446(elements interface{}) (interface{}, error) { + return types.Reduce(elements), nil -func (c *current) onBlockAttributes103() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonBlockAttributes103() (interface{}, error) { +func (p *parser) callonLongHandAttributes446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes103() + return p.cur.onLongHandAttributes446(stack["elements"]) } -func (c *current) onBlockAttributes117() (interface{}, error) { +func (c *current) onLongHandAttributes547() (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) { +func (p *parser) callonLongHandAttributes547() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes120() + return p.cur.onLongHandAttributes547() } -func (c *current) onBlockAttributes111() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLongHandAttributes440(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonBlockAttributes111() (interface{}, error) { +func (p *parser) callonLongHandAttributes440() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes111() + return p.cur.onLongHandAttributes440(stack["content"]) } -func (c *current) onBlockAttributes5(anchor interface{}) (interface{}, error) { - return anchor, nil +func (c *current) onLongHandAttributes555() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonBlockAttributes5() (interface{}, error) { +func (p *parser) callonLongHandAttributes555() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes5(stack["anchor"]) -} - -func (c *current) onBlockAttributes143() (interface{}, error) { - return string(c.text), nil - + return p.cur.onLongHandAttributes555() } -func (p *parser) callonBlockAttributes143() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onBlockAttributes143() -} +func (c *current) onLongHandAttributes557() (interface{}, error) { + return types.NewSymbol("`\"") -func (c *current) onBlockAttributes148() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonBlockAttributes148() (interface{}, error) { +func (p *parser) callonLongHandAttributes557() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes148() + return p.cur.onLongHandAttributes557() } -func (c *current) onBlockAttributes138() (interface{}, error) { - // TODO: also allow trailing quotes/quotation marks? - return types.NewStringElement(string(c.text)) +func (c *current) onLongHandAttributes559() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonBlockAttributes138() (interface{}, error) { +func (p *parser) callonLongHandAttributes559() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes138() + return p.cur.onLongHandAttributes559() } -func (c *current) onBlockAttributes155() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes561() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonBlockAttributes155() (interface{}, error) { +func (p *parser) callonLongHandAttributes561() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes155() + return p.cur.onLongHandAttributes561() } -func (c *current) onBlockAttributes161() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes563() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonBlockAttributes161() (interface{}, error) { +func (p *parser) callonLongHandAttributes563() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes161() + return p.cur.onLongHandAttributes563() } -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 (c *current) onLongHandAttributes568() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonBlockAttributes157() (interface{}, error) { +func (p *parser) callonLongHandAttributes568() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes157(stack["name"]) + return p.cur.onLongHandAttributes568() } -func (c *current) onBlockAttributes171() (interface{}, error) { +func (c *current) onLongHandAttributes575() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes171() (interface{}, error) { +func (p *parser) callonLongHandAttributes575() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes171() + return p.cur.onLongHandAttributes575() } -func (c *current) onBlockAttributes167(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onLongHandAttributes587() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes167() (interface{}, error) { +func (p *parser) callonLongHandAttributes587() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes167(stack["name"]) + return p.cur.onLongHandAttributes587() } -func (c *current) onBlockAttributes177() (interface{}, error) { +func (c *current) onLongHandAttributes589() (interface{}, error) { - return string(c.text), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonBlockAttributes177() (interface{}, error) { +func (p *parser) callonLongHandAttributes589() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes177() + return p.cur.onLongHandAttributes589() } -func (c *current) onBlockAttributes130(elements interface{}) (interface{}, error) { - return types.NewTitleAttribute(types.Reduce(elements, strings.TrimSpace)) +func (c *current) onLongHandAttributes582(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonBlockAttributes130() (interface{}, error) { +func (p *parser) callonLongHandAttributes582() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes130(stack["elements"]) + return p.cur.onLongHandAttributes582(stack["start"]) } -func (c *current) onBlockAttributes180() (interface{}, error) { - return string(c.text), nil - +func (c *current) onLongHandAttributes571(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonBlockAttributes180() (interface{}, error) { +func (p *parser) callonLongHandAttributes571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes180() + return p.cur.onLongHandAttributes571(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes183() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLongHandAttributes597() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonBlockAttributes183() (interface{}, error) { +func (p *parser) callonLongHandAttributes597() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes183() + return p.cur.onLongHandAttributes597() } -func (c *current) onBlockAttributes197() (interface{}, error) { +func (c *current) onLongHandAttributes609() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes197() (interface{}, error) { +func (p *parser) callonLongHandAttributes609() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes197() + return p.cur.onLongHandAttributes609() } -func (c *current) onBlockAttributes200() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes611() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonBlockAttributes200() (interface{}, error) { +func (p *parser) callonLongHandAttributes611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes200() + return p.cur.onLongHandAttributes611() } -func (c *current) onBlockAttributes191() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLongHandAttributes604(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonBlockAttributes191() (interface{}, error) { +func (p *parser) callonLongHandAttributes604() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes191() + return p.cur.onLongHandAttributes604(stack["start"]) } -func (c *current) onBlockAttributes127(title interface{}) (interface{}, error) { - return title, nil - +func (c *current) onLongHandAttributes593(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonBlockAttributes127() (interface{}, error) { +func (p *parser) callonLongHandAttributes593() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes127(stack["title"]) + return p.cur.onLongHandAttributes593(stack["name"], stack["start"]) } -func (c *current) onBlockAttributes212() (interface{}, error) { +func (c *current) onLongHandAttributes619() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes212() (interface{}, error) { +func (p *parser) callonLongHandAttributes619() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes212() + return p.cur.onLongHandAttributes619() } -func (c *current) onBlockAttributes215() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +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) callonBlockAttributes215() (interface{}, error) { +func (p *parser) callonLongHandAttributes615() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes215() + return p.cur.onLongHandAttributes615(stack["name"]) } -func (c *current) onBlockAttributes229() (interface{}, error) { +func (c *current) onLongHandAttributes629() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonBlockAttributes229() (interface{}, error) { +func (p *parser) callonLongHandAttributes629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes229() + return p.cur.onLongHandAttributes629() } -func (c *current) onBlockAttributes232() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLongHandAttributes625(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonBlockAttributes232() (interface{}, error) { +func (p *parser) callonLongHandAttributes625() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes232() + return p.cur.onLongHandAttributes625(stack["name"]) } -func (c *current) onBlockAttributes223() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onLongHandAttributes566(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonBlockAttributes223() (interface{}, error) { +func (p *parser) callonLongHandAttributes566() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes223() + return p.cur.onLongHandAttributes566(stack["element"]) } -func (c *current) onBlockAttributes207(attributes interface{}) (interface{}, error) { - return attributes, nil +func (c *current) onLongHandAttributes635() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonBlockAttributes207() (interface{}, error) { +func (p *parser) callonLongHandAttributes635() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes207(stack["attributes"]) + return p.cur.onLongHandAttributes635() } -func (c *current) onBlockAttributes1(attributes interface{}) (interface{}, error) { - // c.unsetCurrentSubstitution() - return types.MergeAttributes(attributes.([]interface{})...) +func (c *current) onLongHandAttributes641() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonBlockAttributes1() (interface{}, error) { +func (p *parser) callonLongHandAttributes641() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onBlockAttributes1(stack["attributes"]) + return p.cur.onLongHandAttributes641() } -func (c *current) onInlineAttributes6(attribute interface{}) (interface{}, error) { - return attribute, nil +func (c *current) onLongHandAttributes550(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonInlineAttributes6() (interface{}, error) { +func (p *parser) callonLongHandAttributes550() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes6(stack["attribute"]) + return p.cur.onLongHandAttributes550(stack["elements"]) } -func (c *current) onInlineAttributes1(attributes interface{}) (interface{}, error) { - return types.NewAttributes(attributes.([]interface{})...) +func (c *current) onLongHandAttributes333(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonInlineAttributes1() (interface{}, error) { +func (p *parser) callonLongHandAttributes333() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineAttributes1(stack["attributes"]) + return p.cur.onLongHandAttributes333(stack["id"]) } -func (c *current) onLongHandAttributes27() (interface{}, error) { +func (c *current) onLongHandAttributes659() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes27() (interface{}, error) { +func (p *parser) callonLongHandAttributes659() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes27() + return p.cur.onLongHandAttributes659() } -func (c *current) onLongHandAttributes30() (interface{}, error) { +func (c *current) onLongHandAttributes662() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes30() (interface{}, error) { +func (p *parser) callonLongHandAttributes662() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes30() + return p.cur.onLongHandAttributes662() } -func (c *current) onLongHandAttributes32() (interface{}, error) { +func (c *current) onLongHandAttributes664() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes32() (interface{}, error) { +func (p *parser) callonLongHandAttributes664() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes32() + return p.cur.onLongHandAttributes664() } -func (c *current) onLongHandAttributes34() (interface{}, error) { +func (c *current) onLongHandAttributes666() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes34() (interface{}, error) { +func (p *parser) callonLongHandAttributes666() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes34() + return p.cur.onLongHandAttributes666() } -func (c *current) onLongHandAttributes36() (interface{}, error) { +func (c *current) onLongHandAttributes668() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes36() (interface{}, error) { +func (p *parser) callonLongHandAttributes668() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes36() + return p.cur.onLongHandAttributes668() } -func (c *current) onLongHandAttributes38() (interface{}, error) { +func (c *current) onLongHandAttributes670() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes38() (interface{}, error) { +func (p *parser) callonLongHandAttributes670() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes38() + return p.cur.onLongHandAttributes670() } -func (c *current) onLongHandAttributes42() (bool, error) { +func (c *current) onLongHandAttributes674() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes42() (bool, error) { +func (p *parser) callonLongHandAttributes674() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes42() + return p.cur.onLongHandAttributes674() } -func (c *current) onLongHandAttributes49() (interface{}, error) { +func (c *current) onLongHandAttributes681() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes49() (interface{}, error) { +func (p *parser) callonLongHandAttributes681() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes49() + return p.cur.onLongHandAttributes681() } -func (c *current) onLongHandAttributes61() (interface{}, error) { +func (c *current) onLongHandAttributes693() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes61() (interface{}, error) { +func (p *parser) callonLongHandAttributes693() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes61() + return p.cur.onLongHandAttributes693() } -func (c *current) onLongHandAttributes63() (interface{}, error) { +func (c *current) onLongHandAttributes695() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes63() (interface{}, error) { +func (p *parser) callonLongHandAttributes695() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes63() + return p.cur.onLongHandAttributes695() } -func (c *current) onLongHandAttributes56(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes688(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes56() (interface{}, error) { +func (p *parser) callonLongHandAttributes688() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes56(stack["start"]) + return p.cur.onLongHandAttributes688(stack["start"]) } -func (c *current) onLongHandAttributes45(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes677(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes45() (interface{}, error) { +func (p *parser) callonLongHandAttributes677() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes45(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes677(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes71() (interface{}, error) { +func (c *current) onLongHandAttributes703() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes71() (interface{}, error) { +func (p *parser) callonLongHandAttributes703() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes71() + return p.cur.onLongHandAttributes703() } -func (c *current) onLongHandAttributes83() (interface{}, error) { +func (c *current) onLongHandAttributes715() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes83() (interface{}, error) { +func (p *parser) callonLongHandAttributes715() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes83() + return p.cur.onLongHandAttributes715() } -func (c *current) onLongHandAttributes85() (interface{}, error) { +func (c *current) onLongHandAttributes717() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes85() (interface{}, error) { +func (p *parser) callonLongHandAttributes717() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes85() + return p.cur.onLongHandAttributes717() } -func (c *current) onLongHandAttributes78(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes710(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes78() (interface{}, error) { +func (p *parser) callonLongHandAttributes710() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes78(stack["start"]) + return p.cur.onLongHandAttributes710(stack["start"]) } -func (c *current) onLongHandAttributes67(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes699(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes67() (interface{}, error) { +func (p *parser) callonLongHandAttributes699() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes67(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes699(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes93() (interface{}, error) { +func (c *current) onLongHandAttributes725() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes93() (interface{}, error) { +func (p *parser) callonLongHandAttributes725() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes93() + return p.cur.onLongHandAttributes725() } -func (c *current) onLongHandAttributes89(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes721(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -77529,303 +82025,303 @@ func (c *current) onLongHandAttributes89(name interface{}) (interface{}, error) } -func (p *parser) callonLongHandAttributes89() (interface{}, error) { +func (p *parser) callonLongHandAttributes721() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes89(stack["name"]) + return p.cur.onLongHandAttributes721(stack["name"]) } -func (c *current) onLongHandAttributes103() (interface{}, error) { +func (c *current) onLongHandAttributes735() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes103() (interface{}, error) { +func (p *parser) callonLongHandAttributes735() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes103() + return p.cur.onLongHandAttributes735() } -func (c *current) onLongHandAttributes99(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes731(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes99() (interface{}, error) { +func (p *parser) callonLongHandAttributes731() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes99(stack["name"]) + return p.cur.onLongHandAttributes731(stack["name"]) } -func (c *current) onLongHandAttributes40(element interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes672(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLongHandAttributes40() (interface{}, error) { +func (p *parser) callonLongHandAttributes672() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes40(stack["element"]) + return p.cur.onLongHandAttributes672(stack["element"]) } -func (c *current) onLongHandAttributes109() (interface{}, error) { +func (c *current) onLongHandAttributes741() (interface{}, error) { return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonLongHandAttributes109() (interface{}, error) { +func (p *parser) callonLongHandAttributes741() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes109() + return p.cur.onLongHandAttributes741() } -func (c *current) onLongHandAttributes113() (interface{}, error) { +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) callonLongHandAttributes113() (interface{}, error) { +func (p *parser) callonLongHandAttributes745() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes113() + return p.cur.onLongHandAttributes745() } -func (c *current) onLongHandAttributes115() (interface{}, error) { +func (c *current) onLongHandAttributes747() (interface{}, error) { // = and , signs are allowed within '' quoted values return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes115() (interface{}, error) { +func (p *parser) callonLongHandAttributes747() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes115() + return p.cur.onLongHandAttributes747() } -func (c *current) onLongHandAttributes23(elements interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes655(elements interface{}) (interface{}, error) { return types.Reduce(elements), nil } -func (p *parser) callonLongHandAttributes23() (interface{}, error) { +func (p *parser) callonLongHandAttributes655() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes23(stack["elements"]) + return p.cur.onLongHandAttributes655(stack["elements"]) } -func (c *current) onLongHandAttributes17(content interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes649(content interface{}) (interface{}, error) { return content, nil } -func (p *parser) callonLongHandAttributes17() (interface{}, error) { +func (p *parser) callonLongHandAttributes649() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes17(stack["content"]) + return p.cur.onLongHandAttributes649(stack["content"]) } -func (c *current) onLongHandAttributes129() (interface{}, error) { +func (c *current) onLongHandAttributes761() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes129() (interface{}, error) { +func (p *parser) callonLongHandAttributes761() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes129() + return p.cur.onLongHandAttributes761() } -func (c *current) onLongHandAttributes132() (interface{}, error) { +func (c *current) onLongHandAttributes764() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes132() (interface{}, error) { +func (p *parser) callonLongHandAttributes764() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes132() + return p.cur.onLongHandAttributes764() } -func (c *current) onLongHandAttributes134() (interface{}, error) { +func (c *current) onLongHandAttributes766() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes134() (interface{}, error) { +func (p *parser) callonLongHandAttributes766() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes134() + return p.cur.onLongHandAttributes766() } -func (c *current) onLongHandAttributes136() (interface{}, error) { +func (c *current) onLongHandAttributes768() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes136() (interface{}, error) { +func (p *parser) callonLongHandAttributes768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes136() + return p.cur.onLongHandAttributes768() } -func (c *current) onLongHandAttributes138() (interface{}, error) { +func (c *current) onLongHandAttributes770() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes138() (interface{}, error) { +func (p *parser) callonLongHandAttributes770() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes138() + return p.cur.onLongHandAttributes770() } -func (c *current) onLongHandAttributes140() (interface{}, error) { +func (c *current) onLongHandAttributes772() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes140() (interface{}, error) { +func (p *parser) callonLongHandAttributes772() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes140() + return p.cur.onLongHandAttributes772() } -func (c *current) onLongHandAttributes144() (bool, error) { +func (c *current) onLongHandAttributes776() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes144() (bool, error) { +func (p *parser) callonLongHandAttributes776() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes144() + return p.cur.onLongHandAttributes776() } -func (c *current) onLongHandAttributes151() (interface{}, error) { +func (c *current) onLongHandAttributes783() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes151() (interface{}, error) { +func (p *parser) callonLongHandAttributes783() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes151() + return p.cur.onLongHandAttributes783() } -func (c *current) onLongHandAttributes163() (interface{}, error) { +func (c *current) onLongHandAttributes795() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes163() (interface{}, error) { +func (p *parser) callonLongHandAttributes795() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes163() + return p.cur.onLongHandAttributes795() } -func (c *current) onLongHandAttributes165() (interface{}, error) { +func (c *current) onLongHandAttributes797() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes165() (interface{}, error) { +func (p *parser) callonLongHandAttributes797() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes165() + return p.cur.onLongHandAttributes797() } -func (c *current) onLongHandAttributes158(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes790(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes158() (interface{}, error) { +func (p *parser) callonLongHandAttributes790() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes158(stack["start"]) + return p.cur.onLongHandAttributes790(stack["start"]) } -func (c *current) onLongHandAttributes147(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes779(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes147() (interface{}, error) { +func (p *parser) callonLongHandAttributes779() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes147(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes779(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes173() (interface{}, error) { +func (c *current) onLongHandAttributes805() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes173() (interface{}, error) { +func (p *parser) callonLongHandAttributes805() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes173() + return p.cur.onLongHandAttributes805() } -func (c *current) onLongHandAttributes185() (interface{}, error) { +func (c *current) onLongHandAttributes817() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes185() (interface{}, error) { +func (p *parser) callonLongHandAttributes817() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes185() + return p.cur.onLongHandAttributes817() } -func (c *current) onLongHandAttributes187() (interface{}, error) { +func (c *current) onLongHandAttributes819() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes187() (interface{}, error) { +func (p *parser) callonLongHandAttributes819() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes187() + return p.cur.onLongHandAttributes819() } -func (c *current) onLongHandAttributes180(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes812(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes180() (interface{}, error) { +func (p *parser) callonLongHandAttributes812() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes180(stack["start"]) + return p.cur.onLongHandAttributes812(stack["start"]) } -func (c *current) onLongHandAttributes169(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes801(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes169() (interface{}, error) { +func (p *parser) callonLongHandAttributes801() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes169(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes801(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes195() (interface{}, error) { +func (c *current) onLongHandAttributes827() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes195() (interface{}, error) { +func (p *parser) callonLongHandAttributes827() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes195() + return p.cur.onLongHandAttributes827() } -func (c *current) onLongHandAttributes191(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes823(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -77833,303 +82329,303 @@ func (c *current) onLongHandAttributes191(name interface{}) (interface{}, error) } -func (p *parser) callonLongHandAttributes191() (interface{}, error) { +func (p *parser) callonLongHandAttributes823() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes191(stack["name"]) + return p.cur.onLongHandAttributes823(stack["name"]) } -func (c *current) onLongHandAttributes205() (interface{}, error) { +func (c *current) onLongHandAttributes837() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes205() (interface{}, error) { +func (p *parser) callonLongHandAttributes837() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes205() + return p.cur.onLongHandAttributes837() } -func (c *current) onLongHandAttributes201(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes833(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes201() (interface{}, error) { +func (p *parser) callonLongHandAttributes833() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes201(stack["name"]) + return p.cur.onLongHandAttributes833(stack["name"]) } -func (c *current) onLongHandAttributes142(element interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes774(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLongHandAttributes142() (interface{}, error) { +func (p *parser) callonLongHandAttributes774() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes142(stack["element"]) + return p.cur.onLongHandAttributes774(stack["element"]) } -func (c *current) onLongHandAttributes211() (interface{}, error) { +func (c *current) onLongHandAttributes843() (interface{}, error) { return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonLongHandAttributes211() (interface{}, error) { +func (p *parser) callonLongHandAttributes843() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes211() + return p.cur.onLongHandAttributes843() } -func (c *current) onLongHandAttributes216() (interface{}, error) { +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) callonLongHandAttributes216() (interface{}, error) { +func (p *parser) callonLongHandAttributes848() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes216() + return p.cur.onLongHandAttributes848() } -func (c *current) onLongHandAttributes218() (interface{}, error) { +func (c *current) onLongHandAttributes850() (interface{}, error) { // = and , signs are allowed within " quoted values return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes218() (interface{}, error) { +func (p *parser) callonLongHandAttributes850() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes218() + return p.cur.onLongHandAttributes850() } -func (c *current) onLongHandAttributes125(elements interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes757(elements interface{}) (interface{}, error) { return types.Reduce(elements), nil } -func (p *parser) callonLongHandAttributes125() (interface{}, error) { +func (p *parser) callonLongHandAttributes757() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes125(stack["elements"]) + return p.cur.onLongHandAttributes757(stack["elements"]) } -func (c *current) onLongHandAttributes226() (interface{}, error) { +func (c *current) onLongHandAttributes858() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes226() (interface{}, error) { +func (p *parser) callonLongHandAttributes858() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes226() + return p.cur.onLongHandAttributes858() } -func (c *current) onLongHandAttributes119(content interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes751(content interface{}) (interface{}, error) { return content, nil } -func (p *parser) callonLongHandAttributes119() (interface{}, error) { +func (p *parser) callonLongHandAttributes751() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes119(stack["content"]) + return p.cur.onLongHandAttributes751(stack["content"]) } -func (c *current) onLongHandAttributes234() (interface{}, error) { +func (c *current) onLongHandAttributes866() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes234() (interface{}, error) { +func (p *parser) callonLongHandAttributes866() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes234() + return p.cur.onLongHandAttributes866() } -func (c *current) onLongHandAttributes236() (interface{}, error) { +func (c *current) onLongHandAttributes868() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes236() (interface{}, error) { +func (p *parser) callonLongHandAttributes868() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes236() + return p.cur.onLongHandAttributes868() } -func (c *current) onLongHandAttributes238() (interface{}, error) { +func (c *current) onLongHandAttributes870() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes238() (interface{}, error) { +func (p *parser) callonLongHandAttributes870() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes238() + return p.cur.onLongHandAttributes870() } -func (c *current) onLongHandAttributes240() (interface{}, error) { +func (c *current) onLongHandAttributes872() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes240() (interface{}, error) { +func (p *parser) callonLongHandAttributes872() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes240() + return p.cur.onLongHandAttributes872() } -func (c *current) onLongHandAttributes242() (interface{}, error) { +func (c *current) onLongHandAttributes874() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes242() (interface{}, error) { +func (p *parser) callonLongHandAttributes874() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes242() + return p.cur.onLongHandAttributes874() } -func (c *current) onLongHandAttributes247() (bool, error) { +func (c *current) onLongHandAttributes879() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes247() (bool, error) { +func (p *parser) callonLongHandAttributes879() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes247() + return p.cur.onLongHandAttributes879() } -func (c *current) onLongHandAttributes254() (interface{}, error) { +func (c *current) onLongHandAttributes886() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes254() (interface{}, error) { +func (p *parser) callonLongHandAttributes886() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes254() + return p.cur.onLongHandAttributes886() } -func (c *current) onLongHandAttributes266() (interface{}, error) { +func (c *current) onLongHandAttributes898() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes266() (interface{}, error) { +func (p *parser) callonLongHandAttributes898() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes266() + return p.cur.onLongHandAttributes898() } -func (c *current) onLongHandAttributes268() (interface{}, error) { +func (c *current) onLongHandAttributes900() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes268() (interface{}, error) { +func (p *parser) callonLongHandAttributes900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes268() + return p.cur.onLongHandAttributes900() } -func (c *current) onLongHandAttributes261(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes893(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes261() (interface{}, error) { +func (p *parser) callonLongHandAttributes893() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes261(stack["start"]) + return p.cur.onLongHandAttributes893(stack["start"]) } -func (c *current) onLongHandAttributes250(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes882(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes250() (interface{}, error) { +func (p *parser) callonLongHandAttributes882() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes250(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes882(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes276() (interface{}, error) { +func (c *current) onLongHandAttributes908() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes276() (interface{}, error) { +func (p *parser) callonLongHandAttributes908() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes276() + return p.cur.onLongHandAttributes908() } -func (c *current) onLongHandAttributes288() (interface{}, error) { +func (c *current) onLongHandAttributes920() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes288() (interface{}, error) { +func (p *parser) callonLongHandAttributes920() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes288() + return p.cur.onLongHandAttributes920() } -func (c *current) onLongHandAttributes290() (interface{}, error) { +func (c *current) onLongHandAttributes922() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes290() (interface{}, error) { +func (p *parser) callonLongHandAttributes922() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes290() + return p.cur.onLongHandAttributes922() } -func (c *current) onLongHandAttributes283(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes915(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes283() (interface{}, error) { +func (p *parser) callonLongHandAttributes915() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes283(stack["start"]) + return p.cur.onLongHandAttributes915(stack["start"]) } -func (c *current) onLongHandAttributes272(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes904(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes272() (interface{}, error) { +func (p *parser) callonLongHandAttributes904() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes272(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes904(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes298() (interface{}, error) { +func (c *current) onLongHandAttributes930() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes298() (interface{}, error) { +func (p *parser) callonLongHandAttributes930() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes298() + return p.cur.onLongHandAttributes930() } -func (c *current) onLongHandAttributes294(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes926(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -78137,290 +82633,290 @@ func (c *current) onLongHandAttributes294(name interface{}) (interface{}, error) } -func (p *parser) callonLongHandAttributes294() (interface{}, error) { +func (p *parser) callonLongHandAttributes926() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes294(stack["name"]) + return p.cur.onLongHandAttributes926(stack["name"]) } -func (c *current) onLongHandAttributes308() (interface{}, error) { +func (c *current) onLongHandAttributes940() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes308() (interface{}, error) { +func (p *parser) callonLongHandAttributes940() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes308() + return p.cur.onLongHandAttributes940() } -func (c *current) onLongHandAttributes304(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes936(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes304() (interface{}, error) { +func (p *parser) callonLongHandAttributes936() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes304(stack["name"]) + return p.cur.onLongHandAttributes936(stack["name"]) } -func (c *current) onLongHandAttributes245(element interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes877(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLongHandAttributes245() (interface{}, error) { +func (p *parser) callonLongHandAttributes877() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes245(stack["element"]) + return p.cur.onLongHandAttributes877(stack["element"]) } -func (c *current) onLongHandAttributes314() (interface{}, error) { +func (c *current) onLongHandAttributes946() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes314() (interface{}, error) { +func (p *parser) callonLongHandAttributes946() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes314() + return p.cur.onLongHandAttributes946() } -func (c *current) onLongHandAttributes320() (interface{}, error) { +func (c *current) onLongHandAttributes952() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes320() (interface{}, error) { +func (p *parser) callonLongHandAttributes952() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes320() + return p.cur.onLongHandAttributes952() } -func (c *current) onLongHandAttributes229(elements interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes861(elements interface{}) (interface{}, error) { return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonLongHandAttributes229() (interface{}, error) { +func (p *parser) callonLongHandAttributes861() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes229(stack["elements"]) + return p.cur.onLongHandAttributes861(stack["elements"]) } -func (c *current) onLongHandAttributes14(value interface{}) (interface{}, error) { - return types.NewPositionalAttribute(value) +func (c *current) onLongHandAttributes644(option interface{}) (interface{}, error) { + return types.NewOptionAttribute(option) } -func (p *parser) callonLongHandAttributes14() (interface{}, error) { +func (p *parser) callonLongHandAttributes644() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes14(stack["value"]) + return p.cur.onLongHandAttributes644(stack["option"]) } -func (c *current) onLongHandAttributes348() (interface{}, error) { +func (c *current) onLongHandAttributes970() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes348() (interface{}, error) { +func (p *parser) callonLongHandAttributes970() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes348() + return p.cur.onLongHandAttributes970() } -func (c *current) onLongHandAttributes351() (interface{}, error) { +func (c *current) onLongHandAttributes973() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes351() (interface{}, error) { +func (p *parser) callonLongHandAttributes973() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes351() + return p.cur.onLongHandAttributes973() } -func (c *current) onLongHandAttributes353() (interface{}, error) { +func (c *current) onLongHandAttributes975() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes353() (interface{}, error) { +func (p *parser) callonLongHandAttributes975() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes353() + return p.cur.onLongHandAttributes975() } -func (c *current) onLongHandAttributes355() (interface{}, error) { +func (c *current) onLongHandAttributes977() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes355() (interface{}, error) { +func (p *parser) callonLongHandAttributes977() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes355() + return p.cur.onLongHandAttributes977() } -func (c *current) onLongHandAttributes357() (interface{}, error) { +func (c *current) onLongHandAttributes979() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes357() (interface{}, error) { +func (p *parser) callonLongHandAttributes979() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes357() + return p.cur.onLongHandAttributes979() } -func (c *current) onLongHandAttributes359() (interface{}, error) { +func (c *current) onLongHandAttributes981() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes359() (interface{}, error) { +func (p *parser) callonLongHandAttributes981() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes359() + return p.cur.onLongHandAttributes981() } -func (c *current) onLongHandAttributes363() (bool, error) { +func (c *current) onLongHandAttributes985() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes363() (bool, error) { +func (p *parser) callonLongHandAttributes985() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes363() + return p.cur.onLongHandAttributes985() } -func (c *current) onLongHandAttributes370() (interface{}, error) { +func (c *current) onLongHandAttributes992() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes370() (interface{}, error) { +func (p *parser) callonLongHandAttributes992() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes370() + return p.cur.onLongHandAttributes992() } -func (c *current) onLongHandAttributes382() (interface{}, error) { +func (c *current) onLongHandAttributes1004() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes382() (interface{}, error) { +func (p *parser) callonLongHandAttributes1004() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes382() + return p.cur.onLongHandAttributes1004() } -func (c *current) onLongHandAttributes384() (interface{}, error) { +func (c *current) onLongHandAttributes1006() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes384() (interface{}, error) { +func (p *parser) callonLongHandAttributes1006() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes384() + return p.cur.onLongHandAttributes1006() } -func (c *current) onLongHandAttributes377(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes999(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes377() (interface{}, error) { +func (p *parser) callonLongHandAttributes999() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes377(stack["start"]) + return p.cur.onLongHandAttributes999(stack["start"]) } -func (c *current) onLongHandAttributes366(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes988(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes366() (interface{}, error) { +func (p *parser) callonLongHandAttributes988() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes366(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes988(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes392() (interface{}, error) { +func (c *current) onLongHandAttributes1014() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes392() (interface{}, error) { +func (p *parser) callonLongHandAttributes1014() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes392() + return p.cur.onLongHandAttributes1014() } -func (c *current) onLongHandAttributes404() (interface{}, error) { +func (c *current) onLongHandAttributes1026() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes404() (interface{}, error) { +func (p *parser) callonLongHandAttributes1026() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes404() + return p.cur.onLongHandAttributes1026() } -func (c *current) onLongHandAttributes406() (interface{}, error) { +func (c *current) onLongHandAttributes1028() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes406() (interface{}, error) { +func (p *parser) callonLongHandAttributes1028() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes406() + return p.cur.onLongHandAttributes1028() } -func (c *current) onLongHandAttributes399(start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes1021(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes399() (interface{}, error) { +func (p *parser) callonLongHandAttributes1021() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes399(stack["start"]) + return p.cur.onLongHandAttributes1021(stack["start"]) } -func (c *current) onLongHandAttributes388(name, start interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes1010(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes388() (interface{}, error) { +func (p *parser) callonLongHandAttributes1010() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes388(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes1010(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes414() (interface{}, error) { +func (c *current) onLongHandAttributes1036() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes414() (interface{}, error) { +func (p *parser) callonLongHandAttributes1036() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes414() + return p.cur.onLongHandAttributes1036() } -func (c *current) onLongHandAttributes410(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes1032(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -78428,898 +82924,1093 @@ func (c *current) onLongHandAttributes410(name interface{}) (interface{}, error) } -func (p *parser) callonLongHandAttributes410() (interface{}, error) { +func (p *parser) callonLongHandAttributes1032() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes410(stack["name"]) + return p.cur.onLongHandAttributes1032(stack["name"]) } -func (c *current) onLongHandAttributes424() (interface{}, error) { +func (c *current) onLongHandAttributes1046() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes424() (interface{}, error) { +func (p *parser) callonLongHandAttributes1046() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes424() + return p.cur.onLongHandAttributes1046() } -func (c *current) onLongHandAttributes420(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes1042(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes420() (interface{}, error) { +func (p *parser) callonLongHandAttributes1042() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes420(stack["name"]) + return p.cur.onLongHandAttributes1042(stack["name"]) } -func (c *current) onLongHandAttributes361(element interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes983(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLongHandAttributes361() (interface{}, error) { +func (p *parser) callonLongHandAttributes983() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes361(stack["element"]) + return p.cur.onLongHandAttributes983(stack["element"]) } -func (c *current) onLongHandAttributes430() (interface{}, error) { +func (c *current) onLongHandAttributes1052() (interface{}, error) { return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonLongHandAttributes430() (interface{}, error) { +func (p *parser) callonLongHandAttributes1052() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes430() + return p.cur.onLongHandAttributes1052() } -func (c *current) onLongHandAttributes434() (interface{}, error) { +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) callonLongHandAttributes434() (interface{}, error) { +func (p *parser) callonLongHandAttributes1056() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes434() + return p.cur.onLongHandAttributes1056() } -func (c *current) onLongHandAttributes436() (interface{}, error) { +func (c *current) onLongHandAttributes1058() (interface{}, error) { // = and , signs are allowed within '' quoted values return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes436() (interface{}, error) { +func (p *parser) callonLongHandAttributes1058() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes436() + return p.cur.onLongHandAttributes1058() } -func (c *current) onLongHandAttributes344(elements interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes966(elements interface{}) (interface{}, error) { return types.Reduce(elements), nil } -func (p *parser) callonLongHandAttributes344() (interface{}, error) { +func (p *parser) callonLongHandAttributes966() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes344(stack["elements"]) + return p.cur.onLongHandAttributes966(stack["elements"]) } -func (c *current) onLongHandAttributes338(content interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes960(content interface{}) (interface{}, error) { return content, nil } -func (p *parser) callonLongHandAttributes338() (interface{}, error) { +func (p *parser) callonLongHandAttributes960() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes338(stack["content"]) + return p.cur.onLongHandAttributes960(stack["content"]) } -func (c *current) onLongHandAttributes450() (interface{}, error) { +func (c *current) onLongHandAttributes1072() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes450() (interface{}, error) { +func (p *parser) callonLongHandAttributes1072() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes450() + return p.cur.onLongHandAttributes1072() } -func (c *current) onLongHandAttributes453() (interface{}, error) { +func (c *current) onLongHandAttributes1075() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes453() (interface{}, error) { +func (p *parser) callonLongHandAttributes1075() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes453() + return p.cur.onLongHandAttributes1075() } -func (c *current) onLongHandAttributes455() (interface{}, error) { +func (c *current) onLongHandAttributes1077() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes455() (interface{}, error) { +func (p *parser) callonLongHandAttributes1077() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes455() + return p.cur.onLongHandAttributes1077() } -func (c *current) onLongHandAttributes457() (interface{}, error) { +func (c *current) onLongHandAttributes1079() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes457() (interface{}, error) { +func (p *parser) callonLongHandAttributes1079() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes457() + return p.cur.onLongHandAttributes1079() } -func (c *current) onLongHandAttributes459() (interface{}, error) { +func (c *current) onLongHandAttributes1081() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes459() (interface{}, error) { +func (p *parser) callonLongHandAttributes1081() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes459() + return p.cur.onLongHandAttributes1081() } -func (c *current) onLongHandAttributes461() (interface{}, error) { +func (c *current) onLongHandAttributes1083() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes461() (interface{}, error) { +func (p *parser) callonLongHandAttributes1083() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes461() + return p.cur.onLongHandAttributes1083() } -func (c *current) onLongHandAttributes465() (bool, error) { +func (c *current) onLongHandAttributes1087() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes465() (bool, error) { +func (p *parser) callonLongHandAttributes1087() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes465() + return p.cur.onLongHandAttributes1087() } -func (c *current) onLongHandAttributes472() (interface{}, error) { +func (c *current) onLongHandAttributes1094() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes472() (interface{}, error) { +func (p *parser) callonLongHandAttributes1094() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes472() + return p.cur.onLongHandAttributes1094() } -func (c *current) onLongHandAttributes484() (interface{}, error) { +func (c *current) onLongHandAttributes1106() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes484() (interface{}, error) { +func (p *parser) callonLongHandAttributes1106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes484() + return p.cur.onLongHandAttributes1106() } -func (c *current) onLongHandAttributes486() (interface{}, error) { +func (c *current) onLongHandAttributes1108() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes486() (interface{}, error) { +func (p *parser) callonLongHandAttributes1108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes486() + return p.cur.onLongHandAttributes1108() } -func (c *current) onLongHandAttributes479(start interface{}) (interface{}, error) { +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) callonLongHandAttributes479() (interface{}, error) { +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.NewAttributeSubstitution(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.onLongHandAttributes479(stack["start"]) + return p.cur.onLongHandAttributes1169() } -func (c *current) onLongHandAttributes468(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onLongHandAttributes1062(content interface{}) (interface{}, error) { + return content, nil + } -func (p *parser) callonLongHandAttributes468() (interface{}, error) { +func (p *parser) callonLongHandAttributes1062() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes468(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes1062(stack["content"]) } -func (c *current) onLongHandAttributes494() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes1177() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes494() (interface{}, error) { +func (p *parser) callonLongHandAttributes1177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes494() + return p.cur.onLongHandAttributes1177() } -func (c *current) onLongHandAttributes506() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes1179() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes506() (interface{}, error) { +func (p *parser) callonLongHandAttributes1179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes506() + return p.cur.onLongHandAttributes1179() } -func (c *current) onLongHandAttributes508() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onLongHandAttributes1181() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes508() (interface{}, error) { +func (p *parser) callonLongHandAttributes1181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes508() + return p.cur.onLongHandAttributes1181() } -func (c *current) onLongHandAttributes501(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onLongHandAttributes1183() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes501() (interface{}, error) { +func (p *parser) callonLongHandAttributes1183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes501(stack["start"]) + return p.cur.onLongHandAttributes1183() } -func (c *current) onLongHandAttributes490(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onLongHandAttributes1185() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonLongHandAttributes490() (interface{}, error) { +func (p *parser) callonLongHandAttributes1185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes490(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes1185() } -func (c *current) onLongHandAttributes516() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes1190() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes516() (interface{}, error) { +func (p *parser) callonLongHandAttributes1190() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes516() + return p.cur.onLongHandAttributes1190() } -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 (c *current) onLongHandAttributes1197() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes512() (interface{}, error) { +func (p *parser) callonLongHandAttributes1197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes512(stack["name"]) + return p.cur.onLongHandAttributes1197() } -func (c *current) onLongHandAttributes526() (interface{}, error) { +func (c *current) onLongHandAttributes1209() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes526() (interface{}, error) { +func (p *parser) callonLongHandAttributes1209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes526() + return p.cur.onLongHandAttributes1209() } -func (c *current) onLongHandAttributes522(name interface{}) (interface{}, error) { +func (c *current) onLongHandAttributes1211() (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes522() (interface{}, error) { +func (p *parser) callonLongHandAttributes1211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes522(stack["name"]) + return p.cur.onLongHandAttributes1211() } -func (c *current) onLongHandAttributes463(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onLongHandAttributes1204(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonLongHandAttributes463() (interface{}, error) { +func (p *parser) callonLongHandAttributes1204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes463(stack["element"]) + return p.cur.onLongHandAttributes1204(stack["start"]) } -func (c *current) onLongHandAttributes532() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote - +func (c *current) onLongHandAttributes1193(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes532() (interface{}, error) { +func (p *parser) callonLongHandAttributes1193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes532() + return p.cur.onLongHandAttributes1193(stack["name"], stack["start"]) } -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 (c *current) onLongHandAttributes1219() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes537() (interface{}, error) { +func (p *parser) callonLongHandAttributes1219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes537() + return p.cur.onLongHandAttributes1219() } -func (c *current) onLongHandAttributes539() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onLongHandAttributes1231() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes539() (interface{}, error) { +func (p *parser) callonLongHandAttributes1231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes539() + return p.cur.onLongHandAttributes1231() } -func (c *current) onLongHandAttributes446(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onLongHandAttributes1233() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes446() (interface{}, error) { +func (p *parser) callonLongHandAttributes1233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes446(stack["elements"]) + return p.cur.onLongHandAttributes1233() } -func (c *current) onLongHandAttributes547() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes1226(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonLongHandAttributes547() (interface{}, error) { +func (p *parser) callonLongHandAttributes1226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes547() + return p.cur.onLongHandAttributes1226(stack["start"]) } -func (c *current) onLongHandAttributes440(content interface{}) (interface{}, error) { - return content, nil - +func (c *current) onLongHandAttributes1215(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes440() (interface{}, error) { +func (p *parser) callonLongHandAttributes1215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes440(stack["content"]) + return p.cur.onLongHandAttributes1215(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes555() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onLongHandAttributes1241() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes555() (interface{}, error) { +func (p *parser) callonLongHandAttributes1241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes555() + return p.cur.onLongHandAttributes1241() } -func (c *current) onLongHandAttributes557() (interface{}, error) { - return types.NewSymbol("`\"") +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) callonLongHandAttributes557() (interface{}, error) { +func (p *parser) callonLongHandAttributes1237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes557() + return p.cur.onLongHandAttributes1237(stack["name"]) } -func (c *current) onLongHandAttributes559() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onLongHandAttributes1251() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes559() (interface{}, error) { +func (p *parser) callonLongHandAttributes1251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes559() + return p.cur.onLongHandAttributes1251() } -func (c *current) onLongHandAttributes561() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onLongHandAttributes1247(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes561() (interface{}, error) { +func (p *parser) callonLongHandAttributes1247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes561() + return p.cur.onLongHandAttributes1247(stack["name"]) } -func (c *current) onLongHandAttributes563() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onLongHandAttributes1188(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonLongHandAttributes563() (interface{}, error) { +func (p *parser) callonLongHandAttributes1188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes563() + return p.cur.onLongHandAttributes1188(stack["element"]) } -func (c *current) onLongHandAttributes568() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onLongHandAttributes1257() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes568() (bool, error) { +func (p *parser) callonLongHandAttributes1257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes568() + return p.cur.onLongHandAttributes1257() } -func (c *current) onLongHandAttributes575() (interface{}, error) { +func (c *current) onLongHandAttributes1263() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes575() (interface{}, error) { +func (p *parser) callonLongHandAttributes1263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes575() + return p.cur.onLongHandAttributes1263() } -func (c *current) onLongHandAttributes587() (interface{}, error) { - return string(c.text), nil +func (c *current) onLongHandAttributes1172(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonLongHandAttributes587() (interface{}, error) { +func (p *parser) callonLongHandAttributes1172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes587() + return p.cur.onLongHandAttributes1172(stack["elements"]) } -func (c *current) onLongHandAttributes589() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onLongHandAttributes955(role interface{}) (interface{}, error) { + return types.NewRoleAttribute(role) } -func (p *parser) callonLongHandAttributes589() (interface{}, error) { +func (p *parser) callonLongHandAttributes955() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes589() + return p.cur.onLongHandAttributes955(stack["role"]) } -func (c *current) onLongHandAttributes582(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onLongHandAttributes325(extra interface{}) (interface{}, error) { + return extra, nil } -func (p *parser) callonLongHandAttributes582() (interface{}, error) { +func (p *parser) callonLongHandAttributes325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes582(stack["start"]) + return p.cur.onLongHandAttributes325(stack["extra"]) } -func (c *current) onLongHandAttributes571(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onLongHandAttributes1270() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonLongHandAttributes571() (interface{}, error) { +func (p *parser) callonLongHandAttributes1270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes571(stack["name"], stack["start"]) + return p.cur.onLongHandAttributes1270() } -func (c *current) onLongHandAttributes597() (interface{}, error) { - return string(c.text), nil +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) callonLongHandAttributes597() (interface{}, error) { +func (p *parser) callonLongHandAttributes1272() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes597() + return p.cur.onLongHandAttributes1272(stack["main"], stack["extras"]) } -func (c *current) onLongHandAttributes609() (interface{}, error) { - return string(c.text), nil +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) callonLongHandAttributes609() (interface{}, error) { +func (p *parser) callonLongHandAttributes10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes609() + return p.cur.onLongHandAttributes10(stack["main"], stack["extras"]) } -func (c *current) onLongHandAttributes611() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onLongHandAttributes1(firstPositionalAttributes, otherAttributes interface{}) (interface{}, error) { + attributes := []interface{}{} + if firstPositionalAttributes != nil { + attributes = append(attributes, firstPositionalAttributes.([]interface{})...) + } + if len(otherAttributes.([]interface{})) > 0 { + attributes = append(attributes, otherAttributes.([]interface{})...) + } + return types.NewAttributes(attributes...) } -func (p *parser) callonLongHandAttributes611() (interface{}, error) { +func (p *parser) callonLongHandAttributes1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes611() + return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) } -func (c *current) onLongHandAttributes604(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onPositionalAttribute11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes604() (interface{}, error) { +func (p *parser) callonPositionalAttribute11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes604(stack["start"]) + return p.cur.onPositionalAttribute11() } -func (c *current) onLongHandAttributes593(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { + return types.NewPositionalAttribute(value) + } -func (p *parser) callonLongHandAttributes593() (interface{}, error) { +func (p *parser) callonPositionalAttribute2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes593(stack["name"], stack["start"]) + return p.cur.onPositionalAttribute2(stack["value"]) } -func (c *current) onLongHandAttributes619() (interface{}, error) { +func (c *current) onPositionalAttribute20() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes619() (interface{}, error) { +func (p *parser) callonPositionalAttribute20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes619() + return p.cur.onPositionalAttribute20() } -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 (c *current) onPositionalAttribute26() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes615() (interface{}, error) { +func (p *parser) callonPositionalAttribute26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes615(stack["name"]) + return p.cur.onPositionalAttribute26() } -func (c *current) onLongHandAttributes629() (interface{}, error) { - return string(c.text), 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) callonLongHandAttributes629() (interface{}, error) { +func (p *parser) callonPositionalAttribute30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes629() + return p.cur.onPositionalAttribute30(stack["value"]) } -func (c *current) onLongHandAttributes625(name interface{}) (interface{}, error) { +func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return types.NewPositionalAttribute(nil) } -func (p *parser) callonLongHandAttributes625() (interface{}, error) { +func (p *parser) callonPositionalAttribute15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes625(stack["name"]) + return p.cur.onPositionalAttribute15(stack["value"]) } -func (c *current) onLongHandAttributes566(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onNamedAttribute7() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes566() (interface{}, error) { +func (p *parser) callonNamedAttribute7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes566(stack["element"]) + return p.cur.onNamedAttribute7() } -func (c *current) onLongHandAttributes635() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onNamedAttribute4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes635() (interface{}, error) { +func (p *parser) callonNamedAttribute4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes635() + return p.cur.onNamedAttribute4() } -func (c *current) onLongHandAttributes641() (interface{}, error) { +func (c *current) onNamedAttribute13() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes641() (interface{}, error) { +func (p *parser) callonNamedAttribute13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes641() + return p.cur.onNamedAttribute13() } -func (c *current) onLongHandAttributes550(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onNamedAttribute21() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes550() (interface{}, error) { +func (p *parser) callonNamedAttribute21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes550(stack["elements"]) + return p.cur.onNamedAttribute21() } -func (c *current) onLongHandAttributes333(id interface{}) (interface{}, error) { - return types.NewIDAttribute(id) +func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { + return types.NewNamedAttribute(key.(string), value) } -func (p *parser) callonLongHandAttributes333() (interface{}, error) { +func (p *parser) callonNamedAttribute1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes333(stack["id"]) + return p.cur.onNamedAttribute1(stack["key"], stack["value"]) } -func (c *current) onLongHandAttributes659() (interface{}, error) { +func (c *current) onAttributeValue15() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes659() (interface{}, error) { +func (p *parser) callonAttributeValue15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes659() + return p.cur.onAttributeValue15() } -func (c *current) onLongHandAttributes662() (interface{}, error) { +func (c *current) onAttributeValue18() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes662() (interface{}, error) { +func (p *parser) callonAttributeValue18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes662() + return p.cur.onAttributeValue18() } -func (c *current) onLongHandAttributes664() (interface{}, error) { +func (c *current) onAttributeValue20() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes664() (interface{}, error) { +func (p *parser) callonAttributeValue20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes664() + return p.cur.onAttributeValue20() } -func (c *current) onLongHandAttributes666() (interface{}, error) { +func (c *current) onAttributeValue22() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes666() (interface{}, error) { +func (p *parser) callonAttributeValue22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes666() + return p.cur.onAttributeValue22() } -func (c *current) onLongHandAttributes668() (interface{}, error) { +func (c *current) onAttributeValue24() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes668() (interface{}, error) { +func (p *parser) callonAttributeValue24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes668() + return p.cur.onAttributeValue24() } -func (c *current) onLongHandAttributes670() (interface{}, error) { +func (c *current) onAttributeValue26() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes670() (interface{}, error) { +func (p *parser) callonAttributeValue26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes670() + return p.cur.onAttributeValue26() } -func (c *current) onLongHandAttributes674() (bool, error) { +func (c *current) onAttributeValue30() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes674() (bool, error) { +func (p *parser) callonAttributeValue30() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes674() + return p.cur.onAttributeValue30() } -func (c *current) onLongHandAttributes681() (interface{}, error) { +func (c *current) onAttributeValue37() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes681() (interface{}, error) { +func (p *parser) callonAttributeValue37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes681() + return p.cur.onAttributeValue37() } -func (c *current) onLongHandAttributes693() (interface{}, error) { +func (c *current) onAttributeValue49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes693() (interface{}, error) { +func (p *parser) callonAttributeValue49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes693() + return p.cur.onAttributeValue49() } -func (c *current) onLongHandAttributes695() (interface{}, error) { +func (c *current) onAttributeValue51() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes695() (interface{}, error) { +func (p *parser) callonAttributeValue51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes695() + return p.cur.onAttributeValue51() } -func (c *current) onLongHandAttributes688(start interface{}) (interface{}, error) { +func (c *current) onAttributeValue44(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes688() (interface{}, error) { +func (p *parser) callonAttributeValue44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes688(stack["start"]) + return p.cur.onAttributeValue44(stack["start"]) } -func (c *current) onLongHandAttributes677(name, start interface{}) (interface{}, error) { +func (c *current) onAttributeValue33(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes677() (interface{}, error) { +func (p *parser) callonAttributeValue33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes677(stack["name"], stack["start"]) + return p.cur.onAttributeValue33(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes703() (interface{}, error) { +func (c *current) onAttributeValue59() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes703() (interface{}, error) { +func (p *parser) callonAttributeValue59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes703() + return p.cur.onAttributeValue59() } -func (c *current) onLongHandAttributes715() (interface{}, error) { +func (c *current) onAttributeValue71() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes715() (interface{}, error) { +func (p *parser) callonAttributeValue71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes715() + return p.cur.onAttributeValue71() } -func (c *current) onLongHandAttributes717() (interface{}, error) { +func (c *current) onAttributeValue73() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes717() (interface{}, error) { +func (p *parser) callonAttributeValue73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes717() + return p.cur.onAttributeValue73() } -func (c *current) onLongHandAttributes710(start interface{}) (interface{}, error) { +func (c *current) onAttributeValue66(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes710() (interface{}, error) { +func (p *parser) callonAttributeValue66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes710(stack["start"]) + return p.cur.onAttributeValue66(stack["start"]) } -func (c *current) onLongHandAttributes699(name, start interface{}) (interface{}, error) { +func (c *current) onAttributeValue55(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes699() (interface{}, error) { +func (p *parser) callonAttributeValue55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes699(stack["name"], stack["start"]) + return p.cur.onAttributeValue55(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes725() (interface{}, error) { +func (c *current) onAttributeValue81() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes725() (interface{}, error) { +func (p *parser) callonAttributeValue81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes725() + return p.cur.onAttributeValue81() } -func (c *current) onLongHandAttributes721(name interface{}) (interface{}, error) { +func (c *current) onAttributeValue77(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -79327,303 +84018,303 @@ func (c *current) onLongHandAttributes721(name interface{}) (interface{}, error) } -func (p *parser) callonLongHandAttributes721() (interface{}, error) { +func (p *parser) callonAttributeValue77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes721(stack["name"]) + return p.cur.onAttributeValue77(stack["name"]) } -func (c *current) onLongHandAttributes735() (interface{}, error) { +func (c *current) onAttributeValue91() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes735() (interface{}, error) { +func (p *parser) callonAttributeValue91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes735() + return p.cur.onAttributeValue91() } -func (c *current) onLongHandAttributes731(name interface{}) (interface{}, error) { +func (c *current) onAttributeValue87(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes731() (interface{}, error) { +func (p *parser) callonAttributeValue87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes731(stack["name"]) + return p.cur.onAttributeValue87(stack["name"]) } -func (c *current) onLongHandAttributes672(element interface{}) (interface{}, error) { +func (c *current) onAttributeValue28(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLongHandAttributes672() (interface{}, error) { +func (p *parser) callonAttributeValue28() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes672(stack["element"]) + return p.cur.onAttributeValue28(stack["element"]) } -func (c *current) onLongHandAttributes741() (interface{}, error) { +func (c *current) onAttributeValue97() (interface{}, error) { return types.NewStringElement(`'`) // escaped single quote } -func (p *parser) callonLongHandAttributes741() (interface{}, error) { +func (p *parser) callonAttributeValue97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes741() + return p.cur.onAttributeValue97() } -func (c *current) onLongHandAttributes745() (interface{}, error) { +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) callonLongHandAttributes745() (interface{}, error) { +func (p *parser) callonAttributeValue101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes745() + return p.cur.onAttributeValue101() } -func (c *current) onLongHandAttributes747() (interface{}, error) { +func (c *current) onAttributeValue103() (interface{}, error) { // = and , signs are allowed within '' quoted values return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes747() (interface{}, error) { +func (p *parser) callonAttributeValue103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes747() + return p.cur.onAttributeValue103() } -func (c *current) onLongHandAttributes655(elements interface{}) (interface{}, error) { +func (c *current) onAttributeValue11(elements interface{}) (interface{}, error) { return types.Reduce(elements), nil } -func (p *parser) callonLongHandAttributes655() (interface{}, error) { +func (p *parser) callonAttributeValue11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes655(stack["elements"]) + return p.cur.onAttributeValue11(stack["elements"]) } -func (c *current) onLongHandAttributes649(content interface{}) (interface{}, error) { +func (c *current) onAttributeValue5(content interface{}) (interface{}, error) { return content, nil } -func (p *parser) callonLongHandAttributes649() (interface{}, error) { +func (p *parser) callonAttributeValue5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes649(stack["content"]) + return p.cur.onAttributeValue5(stack["content"]) } -func (c *current) onLongHandAttributes761() (interface{}, error) { +func (c *current) onAttributeValue117() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes761() (interface{}, error) { +func (p *parser) callonAttributeValue117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes761() + return p.cur.onAttributeValue117() } -func (c *current) onLongHandAttributes764() (interface{}, error) { +func (c *current) onAttributeValue120() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes764() (interface{}, error) { +func (p *parser) callonAttributeValue120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes764() + return p.cur.onAttributeValue120() } -func (c *current) onLongHandAttributes766() (interface{}, error) { +func (c *current) onAttributeValue122() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes766() (interface{}, error) { +func (p *parser) callonAttributeValue122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes766() + return p.cur.onAttributeValue122() } -func (c *current) onLongHandAttributes768() (interface{}, error) { +func (c *current) onAttributeValue124() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes768() (interface{}, error) { +func (p *parser) callonAttributeValue124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes768() + return p.cur.onAttributeValue124() } -func (c *current) onLongHandAttributes770() (interface{}, error) { +func (c *current) onAttributeValue126() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes770() (interface{}, error) { +func (p *parser) callonAttributeValue126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes770() + return p.cur.onAttributeValue126() } -func (c *current) onLongHandAttributes772() (interface{}, error) { +func (c *current) onAttributeValue128() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes772() (interface{}, error) { +func (p *parser) callonAttributeValue128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes772() + return p.cur.onAttributeValue128() } -func (c *current) onLongHandAttributes776() (bool, error) { +func (c *current) onAttributeValue132() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes776() (bool, error) { +func (p *parser) callonAttributeValue132() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes776() + return p.cur.onAttributeValue132() } -func (c *current) onLongHandAttributes783() (interface{}, error) { +func (c *current) onAttributeValue139() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes783() (interface{}, error) { +func (p *parser) callonAttributeValue139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes783() + return p.cur.onAttributeValue139() } -func (c *current) onLongHandAttributes795() (interface{}, error) { +func (c *current) onAttributeValue151() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes795() (interface{}, error) { +func (p *parser) callonAttributeValue151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes795() + return p.cur.onAttributeValue151() } -func (c *current) onLongHandAttributes797() (interface{}, error) { +func (c *current) onAttributeValue153() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes797() (interface{}, error) { +func (p *parser) callonAttributeValue153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes797() + return p.cur.onAttributeValue153() } -func (c *current) onLongHandAttributes790(start interface{}) (interface{}, error) { +func (c *current) onAttributeValue146(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes790() (interface{}, error) { +func (p *parser) callonAttributeValue146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes790(stack["start"]) + return p.cur.onAttributeValue146(stack["start"]) } -func (c *current) onLongHandAttributes779(name, start interface{}) (interface{}, error) { +func (c *current) onAttributeValue135(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes779() (interface{}, error) { +func (p *parser) callonAttributeValue135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes779(stack["name"], stack["start"]) + return p.cur.onAttributeValue135(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes805() (interface{}, error) { +func (c *current) onAttributeValue161() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes805() (interface{}, error) { +func (p *parser) callonAttributeValue161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes805() + return p.cur.onAttributeValue161() } -func (c *current) onLongHandAttributes817() (interface{}, error) { +func (c *current) onAttributeValue173() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes817() (interface{}, error) { +func (p *parser) callonAttributeValue173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes817() + return p.cur.onAttributeValue173() } -func (c *current) onLongHandAttributes819() (interface{}, error) { +func (c *current) onAttributeValue175() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes819() (interface{}, error) { +func (p *parser) callonAttributeValue175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes819() + return p.cur.onAttributeValue175() } -func (c *current) onLongHandAttributes812(start interface{}) (interface{}, error) { +func (c *current) onAttributeValue168(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes812() (interface{}, error) { +func (p *parser) callonAttributeValue168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes812(stack["start"]) + return p.cur.onAttributeValue168(stack["start"]) } -func (c *current) onLongHandAttributes801(name, start interface{}) (interface{}, error) { +func (c *current) onAttributeValue157(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes801() (interface{}, error) { +func (p *parser) callonAttributeValue157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes801(stack["name"], stack["start"]) + return p.cur.onAttributeValue157(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes827() (interface{}, error) { +func (c *current) onAttributeValue183() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes827() (interface{}, error) { +func (p *parser) callonAttributeValue183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes827() + return p.cur.onAttributeValue183() } -func (c *current) onLongHandAttributes823(name interface{}) (interface{}, error) { +func (c *current) onAttributeValue179(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -79631,303 +84322,304 @@ func (c *current) onLongHandAttributes823(name interface{}) (interface{}, error) } -func (p *parser) callonLongHandAttributes823() (interface{}, error) { +func (p *parser) callonAttributeValue179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes823(stack["name"]) + return p.cur.onAttributeValue179(stack["name"]) } -func (c *current) onLongHandAttributes837() (interface{}, error) { +func (c *current) onAttributeValue193() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes837() (interface{}, error) { +func (p *parser) callonAttributeValue193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes837() + return p.cur.onAttributeValue193() } -func (c *current) onLongHandAttributes833(name interface{}) (interface{}, error) { +func (c *current) onAttributeValue189(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes833() (interface{}, error) { +func (p *parser) callonAttributeValue189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes833(stack["name"]) + return p.cur.onAttributeValue189(stack["name"]) } -func (c *current) onLongHandAttributes774(element interface{}) (interface{}, error) { +func (c *current) onAttributeValue130(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonLongHandAttributes774() (interface{}, error) { +func (p *parser) callonAttributeValue130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes774(stack["element"]) + return p.cur.onAttributeValue130(stack["element"]) } -func (c *current) onLongHandAttributes843() (interface{}, error) { +func (c *current) onAttributeValue199() (interface{}, error) { return types.NewStringElement(`"`) // escaped double quote } -func (p *parser) callonLongHandAttributes843() (interface{}, error) { +func (p *parser) callonAttributeValue199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes843() + return p.cur.onAttributeValue199() } -func (c *current) onLongHandAttributes848() (interface{}, error) { +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) callonLongHandAttributes848() (interface{}, error) { +func (p *parser) callonAttributeValue204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes848() + return p.cur.onAttributeValue204() } -func (c *current) onLongHandAttributes850() (interface{}, error) { +func (c *current) onAttributeValue206() (interface{}, error) { // = and , signs are allowed within " quoted values return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes850() (interface{}, error) { +func (p *parser) callonAttributeValue206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes850() + return p.cur.onAttributeValue206() } -func (c *current) onLongHandAttributes757(elements interface{}) (interface{}, error) { +func (c *current) onAttributeValue113(elements interface{}) (interface{}, error) { return types.Reduce(elements), nil } -func (p *parser) callonLongHandAttributes757() (interface{}, error) { +func (p *parser) callonAttributeValue113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes757(stack["elements"]) + return p.cur.onAttributeValue113(stack["elements"]) } -func (c *current) onLongHandAttributes858() (interface{}, error) { +func (c *current) onAttributeValue214() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes858() (interface{}, error) { +func (p *parser) callonAttributeValue214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes858() + return p.cur.onAttributeValue214() } -func (c *current) onLongHandAttributes751(content interface{}) (interface{}, error) { +func (c *current) onAttributeValue107(content interface{}) (interface{}, error) { return content, nil } -func (p *parser) callonLongHandAttributes751() (interface{}, error) { +func (p *parser) callonAttributeValue107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes751(stack["content"]) + return p.cur.onAttributeValue107(stack["content"]) } -func (c *current) onLongHandAttributes866() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onAttributeValue222() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes866() (interface{}, error) { +func (p *parser) callonAttributeValue222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes866() + return p.cur.onAttributeValue222() } -func (c *current) onLongHandAttributes868() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { + return value, nil } -func (p *parser) callonLongHandAttributes868() (interface{}, error) { +func (p *parser) callonAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes868() + return p.cur.onAttributeValue1(stack["value"]) } -func (c *current) onLongHandAttributes870() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onUnquotedAttributeValue4() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes870() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes870() + return p.cur.onUnquotedAttributeValue4() } -func (c *current) onLongHandAttributes872() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onUnquotedAttributeValue13() (interface{}, error) { + // not within brackets and stop on space and quotation marks (`"') + return string(c.text), nil } -func (p *parser) callonLongHandAttributes872() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes872() + return p.cur.onUnquotedAttributeValue13() } -func (c *current) onLongHandAttributes874() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onUnquotedAttributeValue16() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes874() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes874() + return p.cur.onUnquotedAttributeValue16() } -func (c *current) onLongHandAttributes879() (bool, error) { +func (c *current) onUnquotedAttributeValue20() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes879() (bool, error) { +func (p *parser) callonUnquotedAttributeValue20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes879() + return p.cur.onUnquotedAttributeValue20() } -func (c *current) onLongHandAttributes886() (interface{}, error) { +func (c *current) onUnquotedAttributeValue27() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes886() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes886() + return p.cur.onUnquotedAttributeValue27() } -func (c *current) onLongHandAttributes898() (interface{}, error) { +func (c *current) onUnquotedAttributeValue39() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes898() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes898() + return p.cur.onUnquotedAttributeValue39() } -func (c *current) onLongHandAttributes900() (interface{}, error) { +func (c *current) onUnquotedAttributeValue41() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes900() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes900() + return p.cur.onUnquotedAttributeValue41() } -func (c *current) onLongHandAttributes893(start interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue34(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes893() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes893(stack["start"]) + return p.cur.onUnquotedAttributeValue34(stack["start"]) } -func (c *current) onLongHandAttributes882(name, start interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue23(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes882() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes882(stack["name"], stack["start"]) + return p.cur.onUnquotedAttributeValue23(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes908() (interface{}, error) { +func (c *current) onUnquotedAttributeValue49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes908() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes908() + return p.cur.onUnquotedAttributeValue49() } -func (c *current) onLongHandAttributes920() (interface{}, error) { +func (c *current) onUnquotedAttributeValue61() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes920() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes920() + return p.cur.onUnquotedAttributeValue61() } -func (c *current) onLongHandAttributes922() (interface{}, error) { +func (c *current) onUnquotedAttributeValue63() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes922() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes922() + return p.cur.onUnquotedAttributeValue63() } -func (c *current) onLongHandAttributes915(start interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue56(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonLongHandAttributes915() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes915(stack["start"]) + return p.cur.onUnquotedAttributeValue56(stack["start"]) } -func (c *current) onLongHandAttributes904(name, start interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue45(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes904() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes904(stack["name"], stack["start"]) + return p.cur.onUnquotedAttributeValue45(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes930() (interface{}, error) { +func (c *current) onUnquotedAttributeValue71() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes930() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes930() + return p.cur.onUnquotedAttributeValue71() } -func (c *current) onLongHandAttributes926(name interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue67(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -79935,594 +84627,513 @@ func (c *current) onLongHandAttributes926(name interface{}) (interface{}, error) } -func (p *parser) callonLongHandAttributes926() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes926(stack["name"]) + return p.cur.onUnquotedAttributeValue67(stack["name"]) } -func (c *current) onLongHandAttributes940() (interface{}, error) { +func (c *current) onUnquotedAttributeValue81() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes940() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes940() + return p.cur.onUnquotedAttributeValue81() } -func (c *current) onLongHandAttributes936(name interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue77(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes936() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes936(stack["name"]) + return p.cur.onUnquotedAttributeValue77(stack["name"]) } -func (c *current) onLongHandAttributes877(element interface{}) (interface{}, error) { +func (c *current) onUnquotedAttributeValue18(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) { +func (p *parser) callonUnquotedAttributeValue18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes973() + return p.cur.onUnquotedAttributeValue18(stack["element"]) } -func (c *current) onLongHandAttributes975() (interface{}, error) { +func (c *current) onUnquotedAttributeValue87() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonLongHandAttributes975() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes975() + return p.cur.onUnquotedAttributeValue87() } -func (c *current) onLongHandAttributes977() (interface{}, error) { +func (c *current) onUnquotedAttributeValue89() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonLongHandAttributes977() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes977() + return p.cur.onUnquotedAttributeValue89() } -func (c *current) onLongHandAttributes979() (interface{}, error) { +func (c *current) onUnquotedAttributeValue91() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonLongHandAttributes979() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes979() + return p.cur.onUnquotedAttributeValue91() } -func (c *current) onLongHandAttributes981() (interface{}, error) { +func (c *current) onUnquotedAttributeValue93() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonLongHandAttributes981() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes981() + return p.cur.onUnquotedAttributeValue93() } -func (c *current) onLongHandAttributes985() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onUnquotedAttributeValue95() (interface{}, error) { + // standalone characters not used in quotation marks + return string(c.text), nil } -func (p *parser) callonLongHandAttributes985() (bool, error) { +func (p *parser) callonUnquotedAttributeValue95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes985() + return p.cur.onUnquotedAttributeValue95() } -func (c *current) onLongHandAttributes992() (interface{}, error) { - return string(c.text), nil +func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonLongHandAttributes992() (interface{}, error) { +func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes992() + return p.cur.onUnquotedAttributeValue1(stack["elements"]) } -func (c *current) onLongHandAttributes1004() (interface{}, error) { +func (c *current) onCrossReference6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonLongHandAttributes1004() (interface{}, error) { +func (p *parser) callonCrossReference6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1004() + return p.cur.onCrossReference6() } -func (c *current) onLongHandAttributes1006() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onCrossReference10() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1006() (interface{}, error) { +func (p *parser) callonCrossReference10() (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 - + return p.cur.onCrossReference10() } -func (p *parser) callonLongHandAttributes999() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes999(stack["start"]) -} +func (c *current) onCrossReference16() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) -func (c *current) onLongHandAttributes988(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes988() (interface{}, error) { +func (p *parser) callonCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes988(stack["name"], stack["start"]) + return p.cur.onCrossReference16() } -func (c *current) onLongHandAttributes1014() (interface{}, error) { +func (c *current) onCrossReference25() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1014() (interface{}, error) { +func (p *parser) callonCrossReference25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1014() + return p.cur.onCrossReference25() } -func (c *current) onLongHandAttributes1026() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference21(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonLongHandAttributes1026() (interface{}, error) { +func (p *parser) callonCrossReference21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1026() + return p.cur.onCrossReference21(stack["name"]) } -func (c *current) onLongHandAttributes1028() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onCrossReference35() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1028() (interface{}, error) { +func (p *parser) callonCrossReference35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1028() + return p.cur.onCrossReference35() } -func (c *current) onLongHandAttributes1021(start interface{}) (interface{}, error) { - return start, nil - -} +func (c *current) onCrossReference31(name interface{}) (interface{}, error) { -func (p *parser) callonLongHandAttributes1021() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onLongHandAttributes1021(stack["start"]) -} + return types.NewAttributeSubstitution(name.(string), string(c.text)) -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) { +func (p *parser) callonCrossReference31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1010(stack["name"], stack["start"]) + return p.cur.onCrossReference31(stack["name"]) } -func (c *current) onLongHandAttributes1036() (interface{}, error) { - return string(c.text), nil +func (c *current) onCrossReference41() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes1036() (interface{}, error) { +func (p *parser) callonCrossReference41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1036() + return p.cur.onCrossReference41() } -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 (c *current) onCrossReference2(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonLongHandAttributes1032() (interface{}, error) { +func (p *parser) callonCrossReference2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1032(stack["name"]) + return p.cur.onCrossReference2(stack["id"], stack["label"]) } -func (c *current) onLongHandAttributes1046() (interface{}, error) { +func (c *current) onCrossReference48() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonLongHandAttributes1046() (interface{}, error) { +func (p *parser) callonCrossReference48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1046() + return p.cur.onCrossReference48() } -func (c *current) onLongHandAttributes1042(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onCrossReference44(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonLongHandAttributes1042() (interface{}, error) { +func (p *parser) callonCrossReference44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1042(stack["name"]) + return p.cur.onCrossReference44(stack["id"]) } -func (c *current) onLongHandAttributes983(element interface{}) (interface{}, error) { - return element, nil +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) callonLongHandAttributes983() (interface{}, error) { +func (p *parser) callonExternalCrossReference16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes983(stack["element"]) + return p.cur.onExternalCrossReference16() } -func (c *current) onLongHandAttributes1052() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote - +func (c *current) onExternalCrossReference20() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1052() (interface{}, error) { +func (p *parser) callonExternalCrossReference20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1052() + return p.cur.onExternalCrossReference20() } -func (c *current) onLongHandAttributes1056() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now +func (c *current) onExternalCrossReference27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1056() (interface{}, error) { +func (p *parser) callonExternalCrossReference27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1056() + return p.cur.onExternalCrossReference27() } -func (c *current) onLongHandAttributes1058() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onExternalCrossReference31() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonLongHandAttributes1058() (interface{}, error) { +func (p *parser) callonExternalCrossReference31() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1058() + return p.cur.onExternalCrossReference31() } -func (c *current) onLongHandAttributes966(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onExternalCrossReference38() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes966() (interface{}, error) { +func (p *parser) callonExternalCrossReference38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes966(stack["elements"]) + return p.cur.onExternalCrossReference38() } -func (c *current) onLongHandAttributes960(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onExternalCrossReference50() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes960() (interface{}, error) { +func (p *parser) callonExternalCrossReference50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes960(stack["content"]) + return p.cur.onExternalCrossReference50() } -func (c *current) onLongHandAttributes1072() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference52() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes1072() (interface{}, error) { +func (p *parser) callonExternalCrossReference52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1072() + return p.cur.onExternalCrossReference52() } -func (c *current) onLongHandAttributes1075() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference45(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonLongHandAttributes1075() (interface{}, error) { +func (p *parser) callonExternalCrossReference45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1075() + return p.cur.onExternalCrossReference45(stack["start"]) } -func (c *current) onLongHandAttributes1077() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onExternalCrossReference34(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonLongHandAttributes1077() (interface{}, error) { +func (p *parser) callonExternalCrossReference34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1077() + return p.cur.onExternalCrossReference34(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes1079() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onExternalCrossReference60() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1079() (interface{}, error) { +func (p *parser) callonExternalCrossReference60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1079() + return p.cur.onExternalCrossReference60() } -func (c *current) onLongHandAttributes1081() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onExternalCrossReference72() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1081() (interface{}, error) { +func (p *parser) callonExternalCrossReference72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1081() + return p.cur.onExternalCrossReference72() } -func (c *current) onLongHandAttributes1083() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onExternalCrossReference74() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonLongHandAttributes1083() (interface{}, error) { +func (p *parser) callonExternalCrossReference74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1083() + return p.cur.onExternalCrossReference74() } -func (c *current) onLongHandAttributes1087() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onExternalCrossReference67(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonLongHandAttributes1087() (bool, error) { +func (p *parser) callonExternalCrossReference67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1087() + return p.cur.onExternalCrossReference67(stack["start"]) } -func (c *current) onLongHandAttributes1094() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExternalCrossReference56(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonLongHandAttributes1094() (interface{}, error) { +func (p *parser) callonExternalCrossReference56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1094() + return p.cur.onExternalCrossReference56(stack["name"], stack["start"]) } -func (c *current) onLongHandAttributes1106() (interface{}, error) { +func (c *current) onExternalCrossReference82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1106() (interface{}, error) { +func (p *parser) callonExternalCrossReference82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1106() + return p.cur.onExternalCrossReference82() } -func (c *current) onLongHandAttributes1108() (interface{}, error) { +func (c *current) onExternalCrossReference78(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) callonLongHandAttributes1108() (interface{}, error) { +func (p *parser) callonExternalCrossReference78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1108() + return p.cur.onExternalCrossReference78(stack["name"]) } -func (c *current) onLongHandAttributes1101(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExternalCrossReference92() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1101() (interface{}, error) { +func (p *parser) callonExternalCrossReference92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1101(stack["start"]) + return p.cur.onExternalCrossReference92() } -func (c *current) onLongHandAttributes1090(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExternalCrossReference88(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonLongHandAttributes1090() (interface{}, error) { +func (p *parser) callonExternalCrossReference88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1090(stack["name"], stack["start"]) + return p.cur.onExternalCrossReference88(stack["name"]) } -func (c *current) onLongHandAttributes1116() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference29(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonLongHandAttributes1116() (interface{}, error) { +func (p *parser) callonExternalCrossReference29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1116() + return p.cur.onExternalCrossReference29(stack["element"]) } -func (c *current) onLongHandAttributes1128() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference100() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonLongHandAttributes1128() (interface{}, error) { +func (p *parser) callonExternalCrossReference100() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1128() + return p.cur.onExternalCrossReference100() } -func (c *current) onLongHandAttributes1130() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExternalCrossReference109() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1130() (interface{}, error) { +func (p *parser) callonExternalCrossReference109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1130() + return p.cur.onExternalCrossReference109() } -func (c *current) onLongHandAttributes1123(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExternalCrossReference113() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1123() (interface{}, error) { +func (p *parser) callonExternalCrossReference113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1123(stack["start"]) + return p.cur.onExternalCrossReference113() } -func (c *current) onLongHandAttributes1112(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExternalCrossReference119() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonLongHandAttributes1112() (interface{}, error) { +func (p *parser) callonExternalCrossReference119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1112(stack["name"], stack["start"]) + return p.cur.onExternalCrossReference119() } -func (c *current) onLongHandAttributes1138() (interface{}, error) { +func (c *current) onExternalCrossReference128() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1138() (interface{}, error) { +func (p *parser) callonExternalCrossReference128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1138() + return p.cur.onExternalCrossReference128() } -func (c *current) onLongHandAttributes1134(name interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference124(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -80530,4607 +85141,4592 @@ func (c *current) onLongHandAttributes1134(name interface{}) (interface{}, error } -func (p *parser) callonLongHandAttributes1134() (interface{}, error) { +func (p *parser) callonExternalCrossReference124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1134(stack["name"]) + return p.cur.onExternalCrossReference124(stack["name"]) } -func (c *current) onLongHandAttributes1148() (interface{}, error) { +func (c *current) onExternalCrossReference138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1148() (interface{}, error) { +func (p *parser) callonExternalCrossReference138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1148() + return p.cur.onExternalCrossReference138() } -func (c *current) onLongHandAttributes1144(name interface{}) (interface{}, error) { +func (c *current) onExternalCrossReference134(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes1144() (interface{}, error) { +func (p *parser) callonExternalCrossReference134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1144(stack["name"]) + return p.cur.onExternalCrossReference134(stack["name"]) } -func (c *current) onLongHandAttributes1085(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExternalCrossReference144() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes1085() (interface{}, error) { +func (p *parser) callonExternalCrossReference144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1085(stack["element"]) + return p.cur.onExternalCrossReference144() } -func (c *current) onLongHandAttributes1154() (interface{}, error) { - - return types.NewStringElement(`"`) // escaped double quote +func (c *current) onExternalCrossReference105(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonLongHandAttributes1154() (interface{}, error) { +func (p *parser) callonExternalCrossReference105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1154() + return p.cur.onExternalCrossReference105(stack["id"], stack["label"]) } -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 (c *current) onExternalCrossReference151() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1159() (interface{}, error) { +func (p *parser) callonExternalCrossReference151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1159() + return p.cur.onExternalCrossReference151() } -func (c *current) onLongHandAttributes1161() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onExternalCrossReference147(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonLongHandAttributes1161() (interface{}, error) { +func (p *parser) callonExternalCrossReference147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1161() + return p.cur.onExternalCrossReference147(stack["id"]) } -func (c *current) onLongHandAttributes1068(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onExternalCrossReference103() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes1068() (interface{}, error) { +func (p *parser) callonExternalCrossReference103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1068(stack["elements"]) + return p.cur.onExternalCrossReference103() } -func (c *current) onLongHandAttributes1169() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalCrossReference155() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonLongHandAttributes1169() (interface{}, error) { +func (p *parser) callonExternalCrossReference155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1169() + return p.cur.onExternalCrossReference155() } -func (c *current) onLongHandAttributes1062(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onExternalCrossReference98(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonLongHandAttributes1062() (interface{}, error) { +func (p *parser) callonExternalCrossReference98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1062(stack["content"]) + return p.cur.onExternalCrossReference98(stack["element"]) } -func (c *current) onLongHandAttributes1177() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onExternalCrossReference157() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLongHandAttributes1177() (interface{}, error) { +func (p *parser) callonExternalCrossReference157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1177() + return p.cur.onExternalCrossReference157() } -func (c *current) onLongHandAttributes1179() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonLongHandAttributes1179() (interface{}, error) { +func (p *parser) callonExternalCrossReference9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1179() + return p.cur.onExternalCrossReference9(stack["elements"]) } -func (c *current) onLongHandAttributes1181() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onExternalCrossReference163() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1181() (interface{}, error) { +func (p *parser) callonExternalCrossReference163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1181() + return p.cur.onExternalCrossReference163() } -func (c *current) onLongHandAttributes1183() (interface{}, error) { - return types.NewSymbol("`'") - +func (c *current) onExternalCrossReference159(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonLongHandAttributes1183() (interface{}, error) { +func (p *parser) callonExternalCrossReference159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1183() + return p.cur.onExternalCrossReference159(stack["ref"]) } -func (c *current) onLongHandAttributes1185() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { + return types.NewLocation("", path.([]interface{})) } -func (p *parser) callonLongHandAttributes1185() (interface{}, error) { +func (p *parser) callonExternalCrossReference5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1185() + return p.cur.onExternalCrossReference5(stack["path"]) } -func (c *current) onLongHandAttributes1190() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { + return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonLongHandAttributes1190() (bool, error) { +func (p *parser) callonExternalCrossReference1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1190() + return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) } -func (c *current) onLongHandAttributes1197() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1197() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1197() + return p.cur.onMarkdownQuoteAttribution5() } -func (c *current) onLongHandAttributes1209() (interface{}, error) { +func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonLongHandAttributes1209() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1209() + return p.cur.onMarkdownQuoteAttribution9() } -func (c *current) onLongHandAttributes1211() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { + return author, nil } -func (p *parser) callonLongHandAttributes1211() (interface{}, error) { +func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1211() + return p.cur.onMarkdownQuoteAttribution1(stack["author"]) } -func (c *current) onLongHandAttributes1204(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeader3() (bool, error) { + return c.isDocumentHeaderAllowed(), nil } -func (p *parser) callonLongHandAttributes1204() (interface{}, error) { +func (p *parser) callonDocumentHeader3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1204(stack["start"]) + return p.cur.onDocumentHeader3() } -func (c *current) onLongHandAttributes1193(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentHeader11(extraAttrs, info, moreExtraAttrs interface{}) (bool, error) { + // at least one of title/info/extraArgs must be present + // log.Debugf("checking document header data: title=%s / info=%s / extraAttrs=%s", title, info, extraAttrs) + return info != nil || + len(extraAttrs.([]interface{})) > 0 || + len(moreExtraAttrs.([]interface{})) > 0, nil + } -func (p *parser) callonLongHandAttributes1193() (interface{}, error) { +func (p *parser) callonDocumentHeader11() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1193(stack["name"], stack["start"]) + return p.cur.onDocumentHeader11(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) } -func (c *current) onLongHandAttributes1219() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeader1(extraAttrs, info, moreExtraAttrs interface{}) (interface{}, error) { + attrs := []interface{}{} + if a, ok := extraAttrs.([]interface{}); ok { + attrs = append(attrs, a...) + } + if a, ok := moreExtraAttrs.([]interface{}); ok { + attrs = append(attrs, a...) + } + return types.NewDocumentHeader(info, attrs) } -func (p *parser) callonLongHandAttributes1219() (interface{}, error) { +func (p *parser) callonDocumentHeader1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1219() + return p.cur.onDocumentHeader1(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) } -func (c *current) onLongHandAttributes1231() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes8() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1231() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1231() + return p.cur.onDocumentHeaderAttributes8() } -func (c *current) onLongHandAttributes1233() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes15() (interface{}, error) { + return string(c.text), nil - return strconv.Atoi(string(c.text)) +} + +func (p *parser) callonDocumentHeaderAttributes15() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes15() +} +func (c *current) onDocumentHeaderAttributes18() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1233() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1233() + return p.cur.onDocumentHeaderAttributes18() } -func (c *current) onLongHandAttributes1226(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentHeaderAttributes4(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes1226() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1226(stack["start"]) + return p.cur.onDocumentHeaderAttributes4(stack["name"]) } -func (c *current) onLongHandAttributes1215(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentHeaderAttributes29() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonLongHandAttributes1215() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1215(stack["name"], stack["start"]) + return p.cur.onDocumentHeaderAttributes29() } -func (c *current) onLongHandAttributes1241() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes36() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLongHandAttributes1241() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1241() + return p.cur.onDocumentHeaderAttributes36() } -func (c *current) onLongHandAttributes1237(name interface{}) (interface{}, error) { +func (c *current) onDocumentHeaderAttributes39() (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) callonDocumentHeaderAttributes39() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes39() +} + +func (c *current) onDocumentHeaderAttributes25(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonLongHandAttributes1237() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1237(stack["name"]) + return p.cur.onDocumentHeaderAttributes25(stack["name"]) } -func (c *current) onLongHandAttributes1251() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes52() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1251() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes52() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentHeaderAttributes52() +} + +func (c *current) onDocumentHeaderAttributes56() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonDocumentHeaderAttributes56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1251() + return p.cur.onDocumentHeaderAttributes56() } -func (c *current) onLongHandAttributes1247(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentHeaderAttributes46(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonLongHandAttributes1247() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1247(stack["name"]) + return p.cur.onDocumentHeaderAttributes46(stack["content"]) } -func (c *current) onLongHandAttributes1188(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentHeaderAttributes68() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1188() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes68() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1188(stack["element"]) + return p.cur.onDocumentHeaderAttributes68() } -func (c *current) onLongHandAttributes1257() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentHeaderAttributes74() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1257() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1257() + return p.cur.onDocumentHeaderAttributes74() } -func (c *current) onLongHandAttributes1263() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes77() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonLongHandAttributes1263() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1263() + return p.cur.onDocumentHeaderAttributes77() } -func (c *current) onLongHandAttributes1172(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil +func (c *current) onDocumentHeaderAttributes65(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonLongHandAttributes1172() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1172(stack["elements"]) + return p.cur.onDocumentHeaderAttributes65(stack["delimiter"]) } -func (c *current) onLongHandAttributes955(role interface{}) (interface{}, error) { - return types.NewRoleAttribute(role) +func (c *current) onDocumentHeaderAttributes93() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonLongHandAttributes955() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes955(stack["role"]) + return p.cur.onDocumentHeaderAttributes93() } -func (c *current) onLongHandAttributes325(extra interface{}) (interface{}, error) { - return extra, nil +func (c *current) onDocumentHeaderAttributes99() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLongHandAttributes325() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes325(stack["extra"]) + return p.cur.onDocumentHeaderAttributes99() } -func (c *current) onLongHandAttributes1270() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes102() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonLongHandAttributes1270() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1270() + return p.cur.onDocumentHeaderAttributes102() } -func (c *current) onLongHandAttributes1272(main, extras interface{}) (bool, error) { - // make sure there was a match - return main != nil || len(extras.([]interface{})) > 0, nil +func (c *current) onDocumentHeaderAttributes90(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonLongHandAttributes1272() (bool, error) { +func (p *parser) callonDocumentHeaderAttributes90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1272(stack["main"], stack["extras"]) + return p.cur.onDocumentHeaderAttributes90(stack["delimiter"]) } -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 (c *current) onDocumentHeaderAttributes118() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonLongHandAttributes10() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes10(stack["main"], stack["extras"]) + return p.cur.onDocumentHeaderAttributes118() } -func (c *current) onLongHandAttributes1(firstPositionalAttributes, otherAttributes interface{}) (interface{}, error) { - attributes := []interface{}{} - if firstPositionalAttributes != nil { - attributes = append(attributes, firstPositionalAttributes.([]interface{})...) - } - if len(otherAttributes.([]interface{})) > 0 { - attributes = append(attributes, otherAttributes.([]interface{})...) - } - return types.NewAttributes(attributes...) - +func (c *current) onDocumentHeaderAttributes122() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLongHandAttributes1() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLongHandAttributes1(stack["firstPositionalAttributes"], stack["otherAttributes"]) + return p.cur.onDocumentHeaderAttributes122() } -func (c *current) onPositionalAttribute11() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeaderAttributes112(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonPositionalAttribute11() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute11() + return p.cur.onDocumentHeaderAttributes112(stack["content"]) } -func (c *current) onPositionalAttribute2(value interface{}) (interface{}, error) { - return types.NewPositionalAttribute(value) +func (c *current) onDocumentHeaderAttributes86(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonPositionalAttribute2() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute2(stack["value"]) + return p.cur.onDocumentHeaderAttributes86(stack["line"]) } -func (c *current) onPositionalAttribute20() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes134() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonPositionalAttribute20() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute20() + return p.cur.onDocumentHeaderAttributes134() } -func (c *current) onPositionalAttribute26() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes140() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonPositionalAttribute26() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes140() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute26() + return p.cur.onDocumentHeaderAttributes140() } -func (c *current) onPositionalAttribute30(value interface{}) (bool, error) { - // here we can't rely on `c.text` if the content is empty - // (in such a case, `c.text` contains the char sequence of the previous - // rule that matched) - return !types.AllNilEntries(value.([]interface{})), nil - +func (c *current) onDocumentHeaderAttributes143() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonPositionalAttribute30() (bool, error) { +func (p *parser) callonDocumentHeaderAttributes143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute30(stack["value"]) + return p.cur.onDocumentHeaderAttributes143() } -func (c *current) onPositionalAttribute15(value interface{}) (interface{}, error) { +func (c *current) onDocumentHeaderAttributes131(delimiter interface{}) (interface{}, error) { - return types.NewPositionalAttribute(nil) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonPositionalAttribute15() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPositionalAttribute15(stack["value"]) + return p.cur.onDocumentHeaderAttributes131(stack["delimiter"]) } -func (c *current) onNamedAttribute7() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeaderAttributes63(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonNamedAttribute7() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute7() + return p.cur.onDocumentHeaderAttributes63(stack["delimiter"], stack["content"]) } -func (c *current) onNamedAttribute4() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes158() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonNamedAttribute4() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute4() + return p.cur.onDocumentHeaderAttributes158() } -func (c *current) onNamedAttribute13() (interface{}, error) { +func (c *current) onDocumentHeaderAttributes161() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonNamedAttribute13() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute13() + return p.cur.onDocumentHeaderAttributes161() } -func (c *current) onNamedAttribute21() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentHeaderAttributes152() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonNamedAttribute21() (interface{}, error) { +func (p *parser) callonDocumentHeaderAttributes152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute21() + return p.cur.onDocumentHeaderAttributes152() } -func (c *current) onNamedAttribute1(key, value interface{}) (interface{}, error) { - return types.NewNamedAttribute(key.(string), value) +func (c *current) onDocumentInformation13() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonNamedAttribute1() (interface{}, error) { +func (p *parser) callonDocumentInformation13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onNamedAttribute1(stack["key"], stack["value"]) + return p.cur.onDocumentInformation13() } -func (c *current) onAttributeValue15() (interface{}, error) { +func (c *current) onDocumentInformation17() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeValue15() (interface{}, error) { +func (p *parser) callonDocumentInformation17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue15() + return p.cur.onDocumentInformation17() } -func (c *current) onAttributeValue18() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentInformation7(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonAttributeValue18() (interface{}, error) { +func (p *parser) callonDocumentInformation7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue18() + return p.cur.onDocumentInformation7(stack["content"]) } -func (c *current) onAttributeValue20() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onDocumentInformation29() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonAttributeValue20() (interface{}, error) { +func (p *parser) callonDocumentInformation29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue20() + return p.cur.onDocumentInformation29() } -func (c *current) onAttributeValue22() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onDocumentInformation35() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue22() (interface{}, error) { +func (p *parser) callonDocumentInformation35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue22() + return p.cur.onDocumentInformation35() } -func (c *current) onAttributeValue24() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onDocumentInformation38() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeValue24() (interface{}, error) { +func (p *parser) callonDocumentInformation38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue24() + return p.cur.onDocumentInformation38() } -func (c *current) onAttributeValue26() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDocumentInformation26(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonAttributeValue26() (interface{}, error) { +func (p *parser) callonDocumentInformation26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue26() + return p.cur.onDocumentInformation26(stack["delimiter"]) } -func (c *current) onAttributeValue30() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentInformation54() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonAttributeValue30() (bool, error) { +func (p *parser) callonDocumentInformation54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue30() + return p.cur.onDocumentInformation54() } -func (c *current) onAttributeValue37() (interface{}, error) { +func (c *current) onDocumentInformation60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeValue37() (interface{}, error) { +func (p *parser) callonDocumentInformation60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue37() + return p.cur.onDocumentInformation60() } -func (c *current) onAttributeValue49() (interface{}, error) { +func (c *current) onDocumentInformation63() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeValue49() (interface{}, error) { +func (p *parser) callonDocumentInformation63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue49() + return p.cur.onDocumentInformation63() } -func (c *current) onAttributeValue51() (interface{}, error) { +func (c *current) onDocumentInformation51(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonAttributeValue51() (interface{}, error) { +func (p *parser) callonDocumentInformation51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue51() + return p.cur.onDocumentInformation51(stack["delimiter"]) } -func (c *current) onAttributeValue44(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentInformation79() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonAttributeValue44() (interface{}, error) { +func (p *parser) callonDocumentInformation79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue44(stack["start"]) + return p.cur.onDocumentInformation79() } -func (c *current) onAttributeValue33(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentInformation83() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeValue33() (interface{}, error) { +func (p *parser) callonDocumentInformation83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue33(stack["name"], stack["start"]) + return p.cur.onDocumentInformation83() } -func (c *current) onAttributeValue59() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentInformation73(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonAttributeValue59() (interface{}, error) { +func (p *parser) callonDocumentInformation73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue59() + return p.cur.onDocumentInformation73(stack["content"]) } -func (c *current) onAttributeValue71() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentInformation47(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonAttributeValue71() (interface{}, error) { +func (p *parser) callonDocumentInformation47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue71() + return p.cur.onDocumentInformation47(stack["line"]) } -func (c *current) onAttributeValue73() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentInformation95() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonAttributeValue73() (interface{}, error) { +func (p *parser) callonDocumentInformation95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue73() + return p.cur.onDocumentInformation95() } -func (c *current) onAttributeValue66(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentInformation101() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue66() (interface{}, error) { +func (p *parser) callonDocumentInformation101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue66(stack["start"]) + return p.cur.onDocumentInformation101() } -func (c *current) onAttributeValue55(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentInformation104() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeValue55() (interface{}, error) { +func (p *parser) callonDocumentInformation104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue55(stack["name"], stack["start"]) + return p.cur.onDocumentInformation104() } -func (c *current) onAttributeValue81() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentInformation92(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonAttributeValue81() (interface{}, error) { +func (p *parser) callonDocumentInformation92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue81() + return p.cur.onDocumentInformation92(stack["delimiter"]) } -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 (c *current) onDocumentInformation24(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonAttributeValue77() (interface{}, error) { +func (p *parser) callonDocumentInformation24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue77(stack["name"]) + return p.cur.onDocumentInformation24(stack["delimiter"], stack["content"]) } -func (c *current) onAttributeValue91() (interface{}, error) { +func (c *current) onDocumentInformation121() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeValue91() (interface{}, error) { +func (p *parser) callonDocumentInformation121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue91() + return p.cur.onDocumentInformation121() } -func (c *current) onAttributeValue87(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentInformation138() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonAttributeValue87() (interface{}, error) { +func (p *parser) callonDocumentInformation138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue87(stack["name"]) + return p.cur.onDocumentInformation138() } -func (c *current) onAttributeValue28(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onDocumentInformation142() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue28() (interface{}, error) { +func (p *parser) callonDocumentInformation142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue28(stack["element"]) + return p.cur.onDocumentInformation142() } -func (c *current) onAttributeValue97() (interface{}, error) { - - return types.NewStringElement(`'`) // escaped single quote +func (c *current) onDocumentInformation146() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonAttributeValue97() (interface{}, error) { +func (p *parser) callonDocumentInformation146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue97() + return p.cur.onDocumentInformation146() } -func (c *current) onAttributeValue101() (interface{}, error) { - // quoted string delimiters or standalone backslash - return types.NewStringElement(string(c.text)) // keep as-is for now +func (c *current) onDocumentInformation150() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue101() (interface{}, error) { +func (p *parser) callonDocumentInformation150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue101() + return p.cur.onDocumentInformation150() } -func (c *current) onAttributeValue103() (interface{}, error) { - // = and , signs are allowed within '' quoted values - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentInformation154() (interface{}, error) { + // spaces allowed + return string(c.text), nil } -func (p *parser) callonAttributeValue103() (interface{}, error) { +func (p *parser) callonDocumentInformation154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue103() + return p.cur.onDocumentInformation154() } -func (c *current) onAttributeValue11(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onDocumentInformation158() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue11() (interface{}, error) { +func (p *parser) callonDocumentInformation158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue11(stack["elements"]) + return p.cur.onDocumentInformation158() } -func (c *current) onAttributeValue5(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onDocumentInformation135(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonAttributeValue5() (interface{}, error) { +func (p *parser) callonDocumentInformation135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue5(stack["content"]) + return p.cur.onDocumentInformation135(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onAttributeValue117() (interface{}, error) { +func (c *current) onDocumentInformation169() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeValue117() (interface{}, error) { +func (p *parser) callonDocumentInformation169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue117() + return p.cur.onDocumentInformation169() } -func (c *current) onAttributeValue120() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentInformation162(email interface{}) (interface{}, error) { + return email, nil } -func (p *parser) callonAttributeValue120() (interface{}, error) { +func (p *parser) callonDocumentInformation162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue120() + return p.cur.onDocumentInformation162(stack["email"]) } -func (c *current) onAttributeValue122() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onDocumentInformation174() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue122() (interface{}, error) { +func (p *parser) callonDocumentInformation174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue122() + return p.cur.onDocumentInformation174() } -func (c *current) onAttributeValue124() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onDocumentInformation179() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue124() (interface{}, error) { +func (p *parser) callonDocumentInformation179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue124() + return p.cur.onDocumentInformation179() } -func (c *current) onAttributeValue126() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onDocumentInformation181(fullName, email interface{}) (bool, error) { + // at least 1 of [fullName, email] must be defined + return fullName != nil || email != nil, nil } -func (p *parser) callonAttributeValue126() (interface{}, error) { +func (p *parser) callonDocumentInformation181() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue126() + return p.cur.onDocumentInformation181(stack["fullName"], stack["email"]) } -func (c *current) onAttributeValue128() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDocumentInformation131(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) } -func (p *parser) callonAttributeValue128() (interface{}, error) { +func (p *parser) callonDocumentInformation131() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue128() + return p.cur.onDocumentInformation131(stack["fullName"], stack["email"]) } -func (c *current) onAttributeValue132() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - +func (c *current) onDocumentInformation125(authors interface{}) (interface{}, error) { + return types.NewDocumentAuthors(authors.([]interface{})...) } -func (p *parser) callonAttributeValue132() (bool, error) { +func (p *parser) callonDocumentInformation125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue132() + return p.cur.onDocumentInformation125(stack["authors"]) } -func (c *current) onAttributeValue139() (interface{}, error) { +func (c *current) onDocumentInformation186() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeValue139() (interface{}, error) { +func (p *parser) callonDocumentInformation186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue139() + return p.cur.onDocumentInformation186() } -func (c *current) onAttributeValue151() (interface{}, error) { +func (c *current) onDocumentInformation196() (interface{}, error) { + // no space allowed return string(c.text), nil } -func (p *parser) callonAttributeValue151() (interface{}, error) { +func (p *parser) callonDocumentInformation196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue151() + return p.cur.onDocumentInformation196() } -func (c *current) onAttributeValue153() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentInformation200() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue153() (interface{}, error) { +func (p *parser) callonDocumentInformation200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue153() + return p.cur.onDocumentInformation200() } -func (c *current) onAttributeValue146(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentInformation204() (interface{}, error) { + // no space allowed + return string(c.text), nil } -func (p *parser) callonAttributeValue146() (interface{}, error) { +func (p *parser) callonDocumentInformation204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue146(stack["start"]) + return p.cur.onDocumentInformation204() } -func (c *current) onAttributeValue135(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentInformation208() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonAttributeValue135() (interface{}, error) { +func (p *parser) callonDocumentInformation208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue135(stack["name"], stack["start"]) + return p.cur.onDocumentInformation208() } -func (c *current) onAttributeValue161() (interface{}, error) { +func (c *current) onDocumentInformation212() (interface{}, error) { + // spaces allowed return string(c.text), nil } -func (p *parser) callonAttributeValue161() (interface{}, error) { +func (p *parser) callonDocumentInformation212() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue161() + return p.cur.onDocumentInformation212() } -func (c *current) onAttributeValue173() (interface{}, error) { +func (c *current) onDocumentInformation216() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeValue173() (interface{}, error) { +func (p *parser) callonDocumentInformation216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue173() + return p.cur.onDocumentInformation216() } -func (c *current) onAttributeValue175() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onDocumentInformation193(part1, part2, part3 interface{}) (interface{}, error) { + return types.NewDocumentAuthorFullName(part1.(string), part2, part3) } -func (p *parser) callonAttributeValue175() (interface{}, error) { +func (p *parser) callonDocumentInformation193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue175() + return p.cur.onDocumentInformation193(stack["part1"], stack["part2"], stack["part3"]) } -func (c *current) onAttributeValue168(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentInformation227() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue168() (interface{}, error) { +func (p *parser) callonDocumentInformation227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue168(stack["start"]) + return p.cur.onDocumentInformation227() } -func (c *current) onAttributeValue157(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentInformation220(email interface{}) (interface{}, error) { + return email, nil + } -func (p *parser) callonAttributeValue157() (interface{}, error) { +func (p *parser) callonDocumentInformation220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue157(stack["name"], stack["start"]) + return p.cur.onDocumentInformation220(stack["email"]) } -func (c *current) onAttributeValue183() (interface{}, error) { +func (c *current) onDocumentInformation232() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonAttributeValue183() (interface{}, error) { +func (p *parser) callonDocumentInformation232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue183() + return p.cur.onDocumentInformation232() } -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 (c *current) onDocumentInformation237() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue179() (interface{}, error) { +func (p *parser) callonDocumentInformation237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue179(stack["name"]) + return p.cur.onDocumentInformation237() } -func (c *current) onAttributeValue193() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentInformation239(fullName, email interface{}) (bool, error) { + // at least 1 of [fullName, email] must be defined + return fullName != nil || email != nil, nil } -func (p *parser) callonAttributeValue193() (interface{}, error) { +func (p *parser) callonDocumentInformation239() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue193() + return p.cur.onDocumentInformation239(stack["fullName"], stack["email"]) } -func (c *current) onAttributeValue189(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onDocumentInformation189(fullName, email interface{}) (interface{}, error) { + return types.NewDocumentAuthor(fullName, email) } -func (p *parser) callonAttributeValue189() (interface{}, error) { +func (p *parser) callonDocumentInformation189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue189(stack["name"]) + return p.cur.onDocumentInformation189(stack["fullName"], stack["email"]) } -func (c *current) onAttributeValue130(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentInformation182(author interface{}) (interface{}, error) { + return types.NewDocumentAuthors(author) } -func (p *parser) callonAttributeValue130() (interface{}, error) { +func (p *parser) callonDocumentInformation182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue130(stack["element"]) + return p.cur.onDocumentInformation182(stack["author"]) } -func (c *current) onAttributeValue199() (interface{}, error) { +func (c *current) onDocumentInformation241() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - return types.NewStringElement(`"`) // escaped double quote +func (p *parser) callonDocumentInformation241() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDocumentInformation241() +} +func (c *current) onDocumentInformation118(authors interface{}) (interface{}, error) { + return authors, nil } -func (p *parser) callonAttributeValue199() (interface{}, error) { +func (p *parser) callonDocumentInformation118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue199() + return p.cur.onDocumentInformation118(stack["authors"]) } -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 (c *current) onDocumentInformation256() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonAttributeValue204() (interface{}, error) { +func (p *parser) callonDocumentInformation256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue204() + return p.cur.onDocumentInformation256() } -func (c *current) onAttributeValue206() (interface{}, error) { - // = and , signs are allowed within " quoted values - return types.NewStringElement(string(c.text)) - +func (c *current) onDocumentInformation260() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonAttributeValue206() (interface{}, error) { +func (p *parser) callonDocumentInformation260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue206() + return p.cur.onDocumentInformation260() } -func (c *current) onAttributeValue113(elements interface{}) (interface{}, error) { - return types.Reduce(elements), nil +func (c *current) onDocumentInformation250(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonAttributeValue113() (interface{}, error) { +func (p *parser) callonDocumentInformation250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue113(stack["elements"]) + return p.cur.onDocumentInformation250(stack["content"]) } -func (c *current) onAttributeValue214() (interface{}, error) { +func (c *current) onDocumentInformation272() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonAttributeValue214() (interface{}, error) { +func (p *parser) callonDocumentInformation272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue214() + return p.cur.onDocumentInformation272() } -func (c *current) onAttributeValue107(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onDocumentInformation278() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonAttributeValue107() (interface{}, error) { +func (p *parser) callonDocumentInformation278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue107(stack["content"]) + return p.cur.onDocumentInformation278() } -func (c *current) onAttributeValue222() (interface{}, error) { +func (c *current) onDocumentInformation281() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonAttributeValue222() (interface{}, error) { +func (p *parser) callonDocumentInformation281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue222() + return p.cur.onDocumentInformation281() } -func (c *current) onAttributeValue1(value interface{}) (interface{}, error) { - return value, nil +func (c *current) onDocumentInformation269(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonAttributeValue1() (interface{}, error) { +func (p *parser) callonDocumentInformation269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onAttributeValue1(stack["value"]) + return p.cur.onDocumentInformation269(stack["delimiter"]) } -func (c *current) onUnquotedAttributeValue4() (interface{}, error) { +func (c *current) onDocumentInformation297() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue4() (interface{}, error) { +func (p *parser) callonDocumentInformation297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue4() + return p.cur.onDocumentInformation297() } -func (c *current) onUnquotedAttributeValue13() (interface{}, error) { - // not within brackets and stop on space and quotation marks (`"') +func (c *current) onDocumentInformation303() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue13() (interface{}, error) { +func (p *parser) callonDocumentInformation303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue13() + return p.cur.onDocumentInformation303() } -func (c *current) onUnquotedAttributeValue16() (interface{}, error) { +func (c *current) onDocumentInformation306() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeValue16() (interface{}, error) { +func (p *parser) callonDocumentInformation306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue16() + return p.cur.onDocumentInformation306() } -func (c *current) onUnquotedAttributeValue20() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onDocumentInformation294(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonUnquotedAttributeValue20() (bool, error) { +func (p *parser) callonDocumentInformation294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue20() + return p.cur.onDocumentInformation294(stack["delimiter"]) } -func (c *current) onUnquotedAttributeValue27() (interface{}, error) { +func (c *current) onDocumentInformation322() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue27() (interface{}, error) { +func (p *parser) callonDocumentInformation322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue27() + return p.cur.onDocumentInformation322() } -func (c *current) onUnquotedAttributeValue39() (interface{}, error) { +func (c *current) onDocumentInformation326() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeValue39() (interface{}, error) { +func (p *parser) callonDocumentInformation326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue39() + return p.cur.onDocumentInformation326() } -func (c *current) onUnquotedAttributeValue41() (interface{}, error) { +func (c *current) onDocumentInformation316(content interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonUnquotedAttributeValue41() (interface{}, error) { +func (p *parser) callonDocumentInformation316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue41() + return p.cur.onDocumentInformation316(stack["content"]) } -func (c *current) onUnquotedAttributeValue34(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentInformation290(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonUnquotedAttributeValue34() (interface{}, error) { +func (p *parser) callonDocumentInformation290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue34(stack["start"]) + return p.cur.onDocumentInformation290(stack["line"]) } -func (c *current) onUnquotedAttributeValue23(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onDocumentInformation338() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil + } -func (p *parser) callonUnquotedAttributeValue23() (interface{}, error) { +func (p *parser) callonDocumentInformation338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue23(stack["name"], stack["start"]) + return p.cur.onDocumentInformation338() } -func (c *current) onUnquotedAttributeValue49() (interface{}, error) { +func (c *current) onDocumentInformation344() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue49() (interface{}, error) { +func (p *parser) callonDocumentInformation344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue49() + return p.cur.onDocumentInformation344() } -func (c *current) onUnquotedAttributeValue61() (interface{}, error) { +func (c *current) onDocumentInformation347() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeValue61() (interface{}, error) { +func (p *parser) callonDocumentInformation347() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue61() + return p.cur.onDocumentInformation347() } -func (c *current) onUnquotedAttributeValue63() (interface{}, error) { +func (c *current) onDocumentInformation335(delimiter interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonUnquotedAttributeValue63() (interface{}, error) { +func (p *parser) callonDocumentInformation335() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue63() + return p.cur.onDocumentInformation335(stack["delimiter"]) } -func (c *current) onUnquotedAttributeValue56(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onDocumentInformation267(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonUnquotedAttributeValue56() (interface{}, error) { +func (p *parser) callonDocumentInformation267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue56(stack["start"]) + return p.cur.onDocumentInformation267(stack["delimiter"], stack["content"]) } -func (c *current) onUnquotedAttributeValue45(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onDocumentInformation361() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonUnquotedAttributeValue45() (interface{}, error) { +func (p *parser) callonDocumentInformation361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue45(stack["name"], stack["start"]) + return p.cur.onDocumentInformation361() } -func (c *current) onUnquotedAttributeValue71() (interface{}, error) { +func (c *current) onDocumentInformation371() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeValue71() (interface{}, error) { +func (p *parser) callonDocumentInformation371() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue71() + return p.cur.onDocumentInformation371() } -func (c *current) onUnquotedAttributeValue67(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentInformation385() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue67() (interface{}, error) { +func (p *parser) callonDocumentInformation385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue67(stack["name"]) + return p.cur.onDocumentInformation385() } -func (c *current) onUnquotedAttributeValue81() (interface{}, error) { +func (c *current) onDocumentInformation377() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeValue81() (interface{}, error) { +func (p *parser) callonDocumentInformation377() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue81() + return p.cur.onDocumentInformation377() } -func (c *current) onUnquotedAttributeValue77(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onDocumentInformation393() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue77() (interface{}, error) { +func (p *parser) callonDocumentInformation393() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue77(stack["name"]) + return p.cur.onDocumentInformation393() } -func (c *current) onUnquotedAttributeValue18(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onDocumentInformation400() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue18() (interface{}, error) { +func (p *parser) callonDocumentInformation400() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue18(stack["element"]) + return p.cur.onDocumentInformation400() } -func (c *current) onUnquotedAttributeValue87() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onDocumentInformation367(revnumber, revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(revnumber, revdate, revremark) } -func (p *parser) callonUnquotedAttributeValue87() (interface{}, error) { +func (p *parser) callonDocumentInformation367() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue87() + return p.cur.onDocumentInformation367(stack["revnumber"], stack["revdate"], stack["revremark"]) } -func (c *current) onUnquotedAttributeValue89() (interface{}, error) { - return types.NewSymbol("`\"") - +func (c *current) onDocumentInformation406() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue89() (interface{}, error) { +func (p *parser) callonDocumentInformation406() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue89() + return p.cur.onDocumentInformation406() } -func (c *current) onUnquotedAttributeValue91() (interface{}, error) { - return types.NewSymbol("'`") - +func (c *current) onDocumentInformation413() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonUnquotedAttributeValue91() (interface{}, error) { +func (p *parser) callonDocumentInformation413() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue91() + return p.cur.onDocumentInformation413() } -func (c *current) onUnquotedAttributeValue93() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onDocumentInformation403(revdate, revremark interface{}) (interface{}, error) { + return types.NewDocumentRevision(nil, revdate, revremark) } -func (p *parser) callonUnquotedAttributeValue93() (interface{}, error) { +func (p *parser) callonDocumentInformation403() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue93() + return p.cur.onDocumentInformation403(stack["revdate"], stack["revremark"]) } -func (c *current) onUnquotedAttributeValue95() (interface{}, error) { - // standalone characters not used in quotation marks +func (c *current) onDocumentInformation417() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonUnquotedAttributeValue95() (interface{}, error) { +func (p *parser) callonDocumentInformation417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue95() + return p.cur.onDocumentInformation417() } -func (c *current) onUnquotedAttributeValue1(elements interface{}) (interface{}, error) { - return types.Reduce(elements, strings.TrimSpace), nil - +func (c *current) onDocumentInformation358(revision interface{}) (interface{}, error) { + return revision, nil } -func (p *parser) callonUnquotedAttributeValue1() (interface{}, error) { +func (p *parser) callonDocumentInformation358() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onUnquotedAttributeValue1(stack["elements"]) + return p.cur.onDocumentInformation358(stack["revision"]) } -func (c *current) onCrossReference6() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onDocumentInformation115(authors, revision interface{}) (interface{}, error) { + return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) } -func (p *parser) callonCrossReference6() (interface{}, error) { +func (p *parser) callonDocumentInformation115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference6() + return p.cur.onDocumentInformation115(stack["authors"], stack["revision"]) } -func (c *current) onCrossReference10() (interface{}, error) { - return string(c.text), nil +func (c *current) onDocumentInformation1(title, authorsAndRevision interface{}) (interface{}, error) { + return types.NewDocumentInformation(title.([]interface{}), authorsAndRevision) } -func (p *parser) callonCrossReference10() (interface{}, error) { +func (p *parser) callonDocumentInformation1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference10() + return p.cur.onDocumentInformation1(stack["title"], stack["authorsAndRevision"]) } -func (c *current) onCrossReference16() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onDocumentTitle4() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonCrossReference16() (interface{}, error) { +func (p *parser) callonDocumentTitle4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference16() + return p.cur.onDocumentTitle4() } -func (c *current) onCrossReference25() (interface{}, error) { +func (c *current) onDocumentTitle10() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonCrossReference25() (interface{}, error) { +func (p *parser) callonDocumentTitle10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference25() + return p.cur.onDocumentTitle10() } -func (c *current) onCrossReference21(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onDocumentTitle1(title interface{}) (interface{}, error) { + return title, nil } -func (p *parser) callonCrossReference21() (interface{}, error) { +func (p *parser) callonDocumentTitle1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference21(stack["name"]) + return p.cur.onDocumentTitle1(stack["title"]) } -func (c *current) onCrossReference35() (interface{}, error) { +func (c *current) onInlineElement9() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonCrossReference35() (interface{}, error) { +func (p *parser) callonInlineElement9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference35() + return p.cur.onInlineElement9() } -func (c *current) onCrossReference31(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onInlineElement14() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonCrossReference31() (interface{}, error) { +func (p *parser) callonInlineElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference31(stack["name"]) + return p.cur.onInlineElement14() } -func (c *current) onCrossReference41() (interface{}, error) { - +func (c *current) onInlineElement4() (interface{}, error) { + // TODO: also allow trailing quotes/quotation marks? 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) { +func (p *parser) callonInlineElement4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference2(stack["id"], stack["label"]) + return p.cur.onInlineElement4() } -func (c *current) onCrossReference48() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onInlineElement21() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonCrossReference48() (interface{}, error) { +func (p *parser) callonInlineElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference48() + return p.cur.onInlineElement21() } -func (c *current) onCrossReference44(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onInlineElement26() (bool, error) { + + return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil } -func (p *parser) callonCrossReference44() (interface{}, error) { +func (p *parser) callonInlineElement26() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCrossReference44(stack["id"]) + return p.cur.onInlineElement26() } -func (c *current) onExternalCrossReference16() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onInlineElement29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference16() (interface{}, error) { +func (p *parser) callonInlineElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference16() + return p.cur.onInlineElement29() } -func (c *current) onExternalCrossReference20() (interface{}, error) { +func (c *current) onInlineElement33() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExternalCrossReference20() (interface{}, error) { +func (p *parser) callonInlineElement33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference20() + return p.cur.onInlineElement33() } -func (c *current) onExternalCrossReference27() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement24() (interface{}, error) { + return types.NewLineBreak() } -func (p *parser) callonExternalCrossReference27() (interface{}, error) { +func (p *parser) callonInlineElement24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference27() + return p.cur.onInlineElement24() } -func (c *current) onExternalCrossReference31() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onInlineElement44() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonExternalCrossReference31() (bool, error) { +func (p *parser) callonInlineElement44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference31() + return p.cur.onInlineElement44() } -func (c *current) onExternalCrossReference38() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement46() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonExternalCrossReference38() (interface{}, error) { +func (p *parser) callonInlineElement46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference38() + return p.cur.onInlineElement46() } -func (c *current) onExternalCrossReference50() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement48() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonExternalCrossReference50() (interface{}, error) { +func (p *parser) callonInlineElement48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference50() + return p.cur.onInlineElement48() } -func (c *current) onExternalCrossReference52() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onInlineElement50() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonExternalCrossReference52() (interface{}, error) { +func (p *parser) callonInlineElement50() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference52() + return p.cur.onInlineElement50() } -func (c *current) onExternalCrossReference45(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onInlineElement52() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonExternalCrossReference45() (interface{}, error) { +func (p *parser) callonInlineElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference45(stack["start"]) + return p.cur.onInlineElement52() } -func (c *current) onExternalCrossReference34(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onInlineElement54() (interface{}, error) { + return types.NewSymbol("(TM)") + } -func (p *parser) callonExternalCrossReference34() (interface{}, error) { +func (p *parser) callonInlineElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference34(stack["name"], stack["start"]) + return p.cur.onInlineElement54() } -func (c *current) onExternalCrossReference60() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement56() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonExternalCrossReference60() (interface{}, error) { +func (p *parser) callonInlineElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference60() + return p.cur.onInlineElement56() } -func (c *current) onExternalCrossReference72() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement58() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonExternalCrossReference72() (interface{}, error) { +func (p *parser) callonInlineElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference72() + return p.cur.onInlineElement58() } -func (c *current) onExternalCrossReference74() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onInlineElement60() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonExternalCrossReference74() (interface{}, error) { +func (p *parser) callonInlineElement60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference74() + return p.cur.onInlineElement60() } -func (c *current) onExternalCrossReference67(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onInlineElement64() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonExternalCrossReference67() (interface{}, error) { +func (p *parser) callonInlineElement64() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference67(stack["start"]) + return p.cur.onInlineElement64() } -func (c *current) onExternalCrossReference56(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onInlineElement67() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExternalCrossReference56() (interface{}, error) { +func (p *parser) callonInlineElement67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference56(stack["name"], stack["start"]) + return p.cur.onInlineElement67() } -func (c *current) onExternalCrossReference82() (interface{}, error) { +func (c *current) onInlineElement71() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalCrossReference82() (interface{}, error) { +func (p *parser) callonInlineElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference82() + return p.cur.onInlineElement71() } -func (c *current) onExternalCrossReference78(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onInlineElement62() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonExternalCrossReference78() (interface{}, error) { +func (p *parser) callonInlineElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference78(stack["name"]) + return p.cur.onInlineElement62() } -func (c *current) onExternalCrossReference92() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement80() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonExternalCrossReference92() (interface{}, error) { +func (p *parser) callonInlineElement80() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference92() + return p.cur.onInlineElement80() } -func (c *current) onExternalCrossReference88(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onInlineElement85() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference88() (interface{}, error) { +func (p *parser) callonInlineElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference88(stack["name"]) + return p.cur.onInlineElement85() } -func (c *current) onExternalCrossReference29(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onInlineElement78() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonExternalCrossReference29() (interface{}, error) { +func (p *parser) callonInlineElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference29(stack["element"]) + return p.cur.onInlineElement78() } -func (c *current) onExternalCrossReference100() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onInlineElement92() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonExternalCrossReference100() (bool, error) { +func (p *parser) callonInlineElement92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference100() + return p.cur.onInlineElement92() } -func (c *current) onExternalCrossReference109() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onInlineElement94() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonExternalCrossReference109() (interface{}, error) { +func (p *parser) callonInlineElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference109() + return p.cur.onInlineElement94() } -func (c *current) onExternalCrossReference113() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement96() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonExternalCrossReference113() (interface{}, error) { +func (p *parser) callonInlineElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference113() + return p.cur.onInlineElement96() } -func (c *current) onExternalCrossReference119() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onInlineElement40() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonExternalCrossReference119() (interface{}, error) { +func (p *parser) callonInlineElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference119() + return p.cur.onInlineElement40() } -func (c *current) onExternalCrossReference128() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement98() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonExternalCrossReference128() (interface{}, error) { +func (p *parser) callonInlineElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference128() + return p.cur.onInlineElement98() } -func (c *current) onExternalCrossReference124(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onInlineElement100() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonExternalCrossReference124() (interface{}, error) { +func (p *parser) callonInlineElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference124(stack["name"]) + return p.cur.onInlineElement100() } -func (c *current) onExternalCrossReference138() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement102() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonExternalCrossReference138() (interface{}, error) { +func (p *parser) callonInlineElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference138() + return p.cur.onInlineElement102() } -func (c *current) onExternalCrossReference134(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onInlineElement104() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonExternalCrossReference134() (interface{}, error) { +func (p *parser) callonInlineElement104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference134(stack["name"]) + return p.cur.onInlineElement104() } -func (c *current) onExternalCrossReference144() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onInlineElement106() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonExternalCrossReference144() (interface{}, error) { +func (p *parser) callonInlineElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference144() + return p.cur.onInlineElement106() } -func (c *current) onExternalCrossReference105(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onInlineElement108() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonExternalCrossReference105() (interface{}, error) { +func (p *parser) callonInlineElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference105(stack["id"], stack["label"]) + return p.cur.onInlineElement108() } -func (c *current) onExternalCrossReference151() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onInlineElement110() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonExternalCrossReference151() (interface{}, error) { +func (p *parser) callonInlineElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference151() + return p.cur.onInlineElement110() } -func (c *current) onExternalCrossReference147(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onInlineElement112() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonExternalCrossReference147() (interface{}, error) { +func (p *parser) callonInlineElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference147(stack["id"]) + return p.cur.onInlineElement112() } -func (c *current) onExternalCrossReference103() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineElement116() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonExternalCrossReference103() (interface{}, error) { +func (p *parser) callonInlineElement116() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference103() + return p.cur.onInlineElement116() } -func (c *current) onExternalCrossReference155() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onInlineElement119() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalCrossReference155() (interface{}, error) { +func (p *parser) callonInlineElement119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference155() + return p.cur.onInlineElement119() } -func (c *current) onExternalCrossReference98(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onInlineElement123() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalCrossReference98() (interface{}, error) { +func (p *parser) callonInlineElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference98(stack["element"]) + return p.cur.onInlineElement123() } -func (c *current) onExternalCrossReference157() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onInlineElement114() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonExternalCrossReference157() (interface{}, error) { +func (p *parser) callonInlineElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference157() + return p.cur.onInlineElement114() } -func (c *current) onExternalCrossReference9(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onInlineElement132() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonExternalCrossReference9() (interface{}, error) { +func (p *parser) callonInlineElement132() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference9(stack["elements"]) + return p.cur.onInlineElement132() } -func (c *current) onExternalCrossReference163() (interface{}, error) { +func (c *current) onInlineElement137() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExternalCrossReference163() (interface{}, error) { +func (p *parser) callonInlineElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference163() + return p.cur.onInlineElement137() } -func (c *current) onExternalCrossReference159(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onInlineElement130() (interface{}, error) { + return types.NewSymbol("--") + } -func (p *parser) callonExternalCrossReference159() (interface{}, error) { +func (p *parser) callonInlineElement130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference159(stack["ref"]) + return p.cur.onInlineElement130() } -func (c *current) onExternalCrossReference5(path interface{}) (interface{}, error) { - return types.NewLocation("", path.([]interface{})) +func (c *current) onInlineElement144() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonExternalCrossReference5() (interface{}, error) { +func (p *parser) callonInlineElement144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference5(stack["path"]) + return p.cur.onInlineElement144() } -func (c *current) onExternalCrossReference1(url, attributes interface{}) (interface{}, error) { - return types.NewExternalCrossReference(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onInlineElement146() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonExternalCrossReference1() (interface{}, error) { +func (p *parser) callonInlineElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalCrossReference1(stack["url"], stack["attributes"]) + return p.cur.onInlineElement146() } -func (c *current) onMarkdownQuoteAttribution5() (interface{}, error) { - - return string(c.text), nil +func (c *current) onInlineElement148() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonMarkdownQuoteAttribution5() (interface{}, error) { +func (p *parser) callonInlineElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution5() + return p.cur.onInlineElement148() } -func (c *current) onMarkdownQuoteAttribution9() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement150() (interface{}, error) { + return types.NewSymbol("<=") + } -func (p *parser) callonMarkdownQuoteAttribution9() (interface{}, error) { +func (p *parser) callonInlineElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution9() + return p.cur.onInlineElement150() } -func (c *current) onMarkdownQuoteAttribution1(author interface{}) (interface{}, error) { - return author, nil +func (c *current) onInlineElement152() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonMarkdownQuoteAttribution1() (interface{}, error) { +func (p *parser) callonInlineElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onMarkdownQuoteAttribution1(stack["author"]) + return p.cur.onInlineElement152() } -func (c *current) onDocumentHeader3() (bool, error) { - return c.isDocumentHeaderAllowed(), nil +func (c *current) onInlineElement158() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDocumentHeader3() (bool, error) { +func (p *parser) callonInlineElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader3() + return p.cur.onInlineElement158() } -func (c *current) onDocumentHeader14() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onInlineElement167() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentHeader14() (interface{}, error) { +func (p *parser) callonInlineElement167() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader14() + return p.cur.onInlineElement167() } -func (c *current) onDocumentHeader18() (interface{}, error) { - // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil +func (c *current) onInlineElement174() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader18() (interface{}, error) { +func (p *parser) callonInlineElement174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader18() + return p.cur.onInlineElement174() } -func (c *current) onDocumentHeader22() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement186() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader22() (interface{}, error) { +func (p *parser) callonInlineElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader22() + return p.cur.onInlineElement186() } -func (c *current) onDocumentHeader11(title interface{}) (interface{}, error) { - return title, nil +func (c *current) onInlineElement188() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader11() (interface{}, error) { +func (p *parser) callonInlineElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader11(stack["title"]) + return p.cur.onInlineElement188() } -func (c *current) onDocumentHeader37() (interface{}, error) { - - return string(c.text), nil +func (c *current) onInlineElement181(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeader37() (interface{}, error) { +func (p *parser) callonInlineElement181() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader37() + return p.cur.onInlineElement181(stack["start"]) } -func (c *current) onDocumentHeader41() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement170(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentHeader41() (interface{}, error) { +func (p *parser) callonInlineElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader41() + return p.cur.onInlineElement170(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader31(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onInlineElement196() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader31() (interface{}, error) { +func (p *parser) callonInlineElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader31(stack["content"]) + return p.cur.onInlineElement196() } -func (c *current) onDocumentHeader53() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onInlineElement208() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader53() (interface{}, error) { +func (p *parser) callonInlineElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader53() + return p.cur.onInlineElement208() } -func (c *current) onDocumentHeader59() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement210() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader59() (interface{}, error) { +func (p *parser) callonInlineElement210() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader59() + return p.cur.onInlineElement210() } -func (c *current) onDocumentHeader62() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineElement203(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentHeader62() (interface{}, error) { +func (p *parser) callonInlineElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader62() + return p.cur.onInlineElement203(stack["start"]) } -func (c *current) onDocumentHeader50(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - +func (c *current) onInlineElement192(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentHeader50() (interface{}, error) { +func (p *parser) callonInlineElement192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader50(stack["delimiter"]) + return p.cur.onInlineElement192(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader78() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onInlineElement218() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader78() (interface{}, error) { +func (p *parser) callonInlineElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader78() + return p.cur.onInlineElement218() } -func (c *current) onDocumentHeader84() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement214(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader84() (interface{}, error) { +func (p *parser) callonInlineElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader84() + return p.cur.onInlineElement214(stack["name"]) } -func (c *current) onDocumentHeader87() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement228() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader87() (interface{}, error) { +func (p *parser) callonInlineElement228() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader87() + return p.cur.onInlineElement228() } -func (c *current) onDocumentHeader75(delimiter interface{}) (interface{}, error) { +func (c *current) onInlineElement224(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader75() (interface{}, error) { +func (p *parser) callonInlineElement224() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader75(stack["delimiter"]) + return p.cur.onInlineElement224(stack["name"]) +} + +func (c *current) onInlineElement165(element interface{}) (interface{}, error) { + return element, nil + } -func (c *current) onDocumentHeader103() (interface{}, error) { +func (p *parser) callonInlineElement165() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onInlineElement165(stack["element"]) +} - return string(c.text), nil +func (c *current) onInlineElement237() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentHeader103() (interface{}, error) { +func (p *parser) callonInlineElement237() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader103() + return p.cur.onInlineElement237() } -func (c *current) onDocumentHeader107() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement246() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonDocumentHeader107() (interface{}, error) { +func (p *parser) callonInlineElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader107() + return p.cur.onInlineElement246() } -func (c *current) onDocumentHeader97(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onInlineElement250() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader97() (interface{}, error) { +func (p *parser) callonInlineElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader97(stack["content"]) + return p.cur.onInlineElement250() } -func (c *current) onDocumentHeader71(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onInlineElement256() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader71() (interface{}, error) { +func (p *parser) callonInlineElement256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader71(stack["line"]) + return p.cur.onInlineElement256() } -func (c *current) onDocumentHeader119() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onInlineElement265() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader119() (interface{}, error) { +func (p *parser) callonInlineElement265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader119() + return p.cur.onInlineElement265() } -func (c *current) onDocumentHeader125() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement261(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader125() (interface{}, error) { +func (p *parser) callonInlineElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader125() + return p.cur.onInlineElement261(stack["name"]) } -func (c *current) onDocumentHeader128() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineElement275() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader128() (interface{}, error) { +func (p *parser) callonInlineElement275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader128() + return p.cur.onInlineElement275() } -func (c *current) onDocumentHeader116(delimiter interface{}) (interface{}, error) { +func (c *current) onInlineElement271(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader116() (interface{}, error) { +func (p *parser) callonInlineElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader116(stack["delimiter"]) + return p.cur.onInlineElement271(stack["name"]) } -func (c *current) onDocumentHeader48(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onInlineElement281() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader48() (interface{}, error) { +func (p *parser) callonInlineElement281() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader48(stack["delimiter"], stack["content"]) + return p.cur.onInlineElement281() } -func (c *current) onDocumentHeader145() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement242(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentHeader145() (interface{}, error) { +func (p *parser) callonInlineElement242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader145() + return p.cur.onInlineElement242(stack["id"], stack["label"]) } -func (c *current) onDocumentHeader162() (interface{}, error) { - // no space allowed +func (c *current) onInlineElement288() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader162() (interface{}, error) { +func (p *parser) callonInlineElement288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader162() + return p.cur.onInlineElement288() } -func (c *current) onDocumentHeader166() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement284(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentHeader166() (interface{}, error) { +func (p *parser) callonInlineElement284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader166() + return p.cur.onInlineElement284(stack["id"]) } -func (c *current) onDocumentHeader170() (interface{}, error) { - // no space allowed - return string(c.text), nil +func (c *current) onInlineElement240() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader170() (interface{}, error) { +func (p *parser) callonInlineElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader170() + return p.cur.onInlineElement240() } -func (c *current) onDocumentHeader174() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineElement292() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDocumentHeader174() (interface{}, error) { +func (p *parser) callonInlineElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader174() + return p.cur.onInlineElement292() } -func (c *current) onDocumentHeader178() (interface{}, error) { - // spaces allowed - return string(c.text), nil +func (c *current) onInlineElement235(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader178() (interface{}, error) { +func (p *parser) callonInlineElement235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader178() + return p.cur.onInlineElement235(stack["element"]) } -func (c *current) onDocumentHeader182() (interface{}, error) { +func (c *current) onInlineElement294() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader182() (interface{}, error) { +func (p *parser) callonInlineElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader182() + return p.cur.onInlineElement294() } -func (c *current) onDocumentHeader159(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) - +func (c *current) onInlineElement1(element interface{}) (interface{}, error) { + c.trackSuffix(element) + return element, nil } -func (p *parser) callonDocumentHeader159() (interface{}, error) { +func (p *parser) callonInlineElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader159(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onInlineElement1(stack["element"]) } -func (c *current) onDocumentHeader193() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineButton3() (bool, error) { + return c.isExperimentalEnabled(), nil } -func (p *parser) callonDocumentHeader193() (interface{}, error) { +func (p *parser) callonInlineButton3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader193() + return p.cur.onInlineButton3() } -func (c *current) onDocumentHeader186(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { + return types.NewInlineButton(attributes.(types.Attributes)) } -func (p *parser) callonDocumentHeader186() (interface{}, error) { +func (p *parser) callonInlineButton1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader186(stack["email"]) + return p.cur.onInlineButton1(stack["attributes"]) } -func (c *current) onDocumentHeader198() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineMenu3() (bool, error) { + return c.isExperimentalEnabled(), nil } -func (p *parser) callonDocumentHeader198() (interface{}, error) { +func (p *parser) callonInlineMenu3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader198() + return p.cur.onInlineMenu3() } -func (c *current) onDocumentHeader203() (interface{}, error) { +func (c *current) onInlineMenu6() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader203() (interface{}, error) { +func (p *parser) callonInlineMenu6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader203() + return p.cur.onInlineMenu6() } -func (c *current) onDocumentHeader205(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil +func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { + return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) } -func (p *parser) callonDocumentHeader205() (bool, error) { +func (p *parser) callonInlineMenu1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader205(stack["fullName"], stack["email"]) + return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) } -func (c *current) onDocumentHeader155(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { + return types.NewIndexTerm(term.([]interface{})) } -func (p *parser) callonDocumentHeader155() (interface{}, error) { +func (p *parser) callonIndexTerm1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader155(stack["fullName"], stack["email"]) + return p.cur.onIndexTerm1(stack["term"]) } -func (c *current) onDocumentHeader149(authors interface{}) (interface{}, error) { - return types.NewDocumentAuthors(authors.([]interface{})...) +func (c *current) onIndexTermContent5() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader149() (interface{}, error) { +func (p *parser) callonIndexTermContent5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader149(stack["authors"]) + return p.cur.onIndexTermContent5() } -func (c *current) onDocumentHeader210() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent14() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader210() (interface{}, error) { +func (p *parser) callonIndexTermContent14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader210() + return p.cur.onIndexTermContent14() } -func (c *current) onDocumentHeader220() (interface{}, error) { - // no space allowed +func (c *current) onIndexTermContent24() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader220() (interface{}, error) { +func (p *parser) callonIndexTermContent24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader220() + return p.cur.onIndexTermContent24() } -func (c *current) onDocumentHeader224() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent28() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentHeader224() (interface{}, error) { +func (p *parser) callonIndexTermContent28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader224() + return p.cur.onIndexTermContent28() } -func (c *current) onDocumentHeader228() (interface{}, error) { - // no space allowed +func (c *current) onIndexTermContent37() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDocumentHeader228() (interface{}, error) { +func (p *parser) callonIndexTermContent37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader228() + return p.cur.onIndexTermContent37() } -func (c *current) onDocumentHeader232() (interface{}, error) { +func (c *current) onIndexTermContent41() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader232() (interface{}, error) { +func (p *parser) callonIndexTermContent41() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader232() + return p.cur.onIndexTermContent41() } -func (c *current) onDocumentHeader236() (interface{}, error) { - // spaces allowed - return string(c.text), nil +func (c *current) onIndexTermContent47() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader236() (interface{}, error) { +func (p *parser) callonIndexTermContent47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader236() + return p.cur.onIndexTermContent47() } -func (c *current) onDocumentHeader240() (interface{}, error) { +func (c *current) onIndexTermContent56() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader240() (interface{}, error) { +func (p *parser) callonIndexTermContent56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader240() + return p.cur.onIndexTermContent56() } -func (c *current) onDocumentHeader217(part1, part2, part3 interface{}) (interface{}, error) { - return types.NewDocumentAuthorFullName(part1.(string), part2, part3) +func (c *current) onIndexTermContent52(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader217() (interface{}, error) { +func (p *parser) callonIndexTermContent52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader217(stack["part1"], stack["part2"], stack["part3"]) + return p.cur.onIndexTermContent52(stack["name"]) } -func (c *current) onDocumentHeader251() (interface{}, error) { +func (c *current) onIndexTermContent66() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader251() (interface{}, error) { +func (p *parser) callonIndexTermContent66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader251() + return p.cur.onIndexTermContent66() } -func (c *current) onDocumentHeader244(email interface{}) (interface{}, error) { - return email, nil +func (c *current) onIndexTermContent62(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader244() (interface{}, error) { +func (p *parser) callonIndexTermContent62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader244(stack["email"]) + return p.cur.onIndexTermContent62(stack["name"]) } -func (c *current) onDocumentHeader256() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent72() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader256() (interface{}, error) { +func (p *parser) callonIndexTermContent72() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader256() + return p.cur.onIndexTermContent72() } -func (c *current) onDocumentHeader261() (interface{}, error) { - return string(c.text), nil +func (c *current) onIndexTermContent33(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentHeader261() (interface{}, error) { +func (p *parser) callonIndexTermContent33() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader261() + return p.cur.onIndexTermContent33(stack["id"], stack["label"]) } -func (c *current) onDocumentHeader263(fullName, email interface{}) (bool, error) { - // at least 1 of [fullName, email] must be defined - return fullName != nil || email != nil, nil +func (c *current) onIndexTermContent79() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDocumentHeader263() (bool, error) { +func (p *parser) callonIndexTermContent79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader263(stack["fullName"], stack["email"]) + return p.cur.onIndexTermContent79() } -func (c *current) onDocumentHeader213(fullName, email interface{}) (interface{}, error) { - return types.NewDocumentAuthor(fullName, email) +func (c *current) onIndexTermContent75(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentHeader213() (interface{}, error) { +func (p *parser) callonIndexTermContent75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader213(stack["fullName"], stack["email"]) -} - -func (c *current) onDocumentHeader206(author interface{}) (interface{}, error) { - return types.NewDocumentAuthors(author) + return p.cur.onIndexTermContent75(stack["id"]) } -func (p *parser) callonDocumentHeader206() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onDocumentHeader206(stack["author"]) -} +func (c *current) onIndexTermContent31() (interface{}, error) { + return types.NewStringElement(string(c.text)) -func (c *current) onDocumentHeader265() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonDocumentHeader265() (interface{}, error) { +func (p *parser) callonIndexTermContent31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader265() + return p.cur.onIndexTermContent31() } -func (c *current) onDocumentHeader142(authors interface{}) (interface{}, error) { - return authors, nil +func (c *current) onIndexTermContent83() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + } -func (p *parser) callonDocumentHeader142() (interface{}, error) { +func (p *parser) callonIndexTermContent83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader142(stack["authors"]) + return p.cur.onIndexTermContent83() } -func (c *current) onDocumentHeader280() (interface{}, error) { - - return string(c.text), nil +func (c *current) onIndexTermContent26(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDocumentHeader280() (interface{}, error) { +func (p *parser) callonIndexTermContent26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader280() + return p.cur.onIndexTermContent26(stack["element"]) } -func (c *current) onDocumentHeader284() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onIndexTermContent89() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader284() (interface{}, error) { +func (p *parser) callonIndexTermContent89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader284() + return p.cur.onIndexTermContent89() } -func (c *current) onDocumentHeader274(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) - +func (c *current) onIndexTermContent85(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentHeader274() (interface{}, error) { +func (p *parser) callonIndexTermContent85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader274(stack["content"]) + return p.cur.onIndexTermContent85(stack["ref"]) } -func (c *current) onDocumentHeader296() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onIndexTermContent93() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeader296() (interface{}, error) { +func (p *parser) callonIndexTermContent93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader296() + return p.cur.onIndexTermContent93() } -func (c *current) onDocumentHeader302() (interface{}, error) { - return string(c.text), nil - +func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonDocumentHeader302() (interface{}, error) { +func (p *parser) callonIndexTermContent1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader302() + return p.cur.onIndexTermContent1(stack["elements"]) } -func (c *current) onDocumentHeader305() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock25() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader305() (interface{}, error) { +func (p *parser) callonImageBlock25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader305() + return p.cur.onImageBlock25() } -func (c *current) onDocumentHeader293(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - +func (c *current) onImageBlock29() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader293() (interface{}, error) { +func (p *parser) callonImageBlock29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader293(stack["delimiter"]) + return p.cur.onImageBlock29() } -func (c *current) onDocumentHeader321() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onImageBlock36() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader321() (interface{}, error) { +func (p *parser) callonImageBlock36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader321() + return p.cur.onImageBlock36() } -func (c *current) onDocumentHeader327() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock40() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentHeader327() (interface{}, error) { +func (p *parser) callonImageBlock40() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader327() + return p.cur.onImageBlock40() } -func (c *current) onDocumentHeader330() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock47() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader330() (interface{}, error) { +func (p *parser) callonImageBlock47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader330() + return p.cur.onImageBlock47() } -func (c *current) onDocumentHeader318(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onImageBlock59() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader318() (interface{}, error) { +func (p *parser) callonImageBlock59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader318(stack["delimiter"]) + return p.cur.onImageBlock59() } -func (c *current) onDocumentHeader346() (interface{}, error) { +func (c *current) onImageBlock61() (interface{}, error) { - return string(c.text), nil + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader346() (interface{}, error) { +func (p *parser) callonImageBlock61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader346() + return p.cur.onImageBlock61() } -func (c *current) onDocumentHeader350() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock54(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentHeader350() (interface{}, error) { +func (p *parser) callonImageBlock54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader350() + return p.cur.onImageBlock54(stack["start"]) } -func (c *current) onDocumentHeader340(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onImageBlock43(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentHeader340() (interface{}, error) { +func (p *parser) callonImageBlock43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader340(stack["content"]) + return p.cur.onImageBlock43(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader314(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onImageBlock69() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader314() (interface{}, error) { +func (p *parser) callonImageBlock69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader314(stack["line"]) + return p.cur.onImageBlock69() } -func (c *current) onDocumentHeader362() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onImageBlock81() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeader362() (interface{}, error) { +func (p *parser) callonImageBlock81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader362() + return p.cur.onImageBlock81() } -func (c *current) onDocumentHeader368() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock83() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeader368() (interface{}, error) { +func (p *parser) callonImageBlock83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader368() + return p.cur.onImageBlock83() } -func (c *current) onDocumentHeader371() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock76(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDocumentHeader371() (interface{}, error) { +func (p *parser) callonImageBlock76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader371() + return p.cur.onImageBlock76(stack["start"]) } -func (c *current) onDocumentHeader359(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) - +func (c *current) onImageBlock65(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentHeader359() (interface{}, error) { +func (p *parser) callonImageBlock65() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader359(stack["delimiter"]) + return p.cur.onImageBlock65(stack["name"], stack["start"]) } -func (c *current) onDocumentHeader291(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onImageBlock91() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader291() (interface{}, error) { +func (p *parser) callonImageBlock91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader291(stack["delimiter"], stack["content"]) + return p.cur.onImageBlock91() } -func (c *current) onDocumentHeader385() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock87(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader385() (interface{}, error) { +func (p *parser) callonImageBlock87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader385() + return p.cur.onImageBlock87(stack["name"]) } -func (c *current) onDocumentHeader395() (interface{}, error) { +func (c *current) onImageBlock101() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader395() (interface{}, error) { +func (p *parser) callonImageBlock101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader395() + return p.cur.onImageBlock101() } -func (c *current) onDocumentHeader409() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock97(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeader409() (interface{}, error) { +func (p *parser) callonImageBlock97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader409() + return p.cur.onImageBlock97(stack["name"]) } -func (c *current) onDocumentHeader401() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock38(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDocumentHeader401() (interface{}, error) { +func (p *parser) callonImageBlock38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader401() + return p.cur.onImageBlock38(stack["element"]) } -func (c *current) onDocumentHeader417() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock109() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonDocumentHeader417() (interface{}, error) { +func (p *parser) callonImageBlock109() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader417() + return p.cur.onImageBlock109() } -func (c *current) onDocumentHeader424() (interface{}, error) { +func (c *current) onImageBlock118() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonDocumentHeader424() (interface{}, error) { +func (p *parser) callonImageBlock118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader424() + return p.cur.onImageBlock118() } -func (c *current) onDocumentHeader391(revnumber, revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(revnumber, revdate, revremark) +func (c *current) onImageBlock122() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeader391() (interface{}, error) { +func (p *parser) callonImageBlock122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader391(stack["revnumber"], stack["revdate"], stack["revremark"]) + return p.cur.onImageBlock122() } -func (c *current) onDocumentHeader430() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock128() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonDocumentHeader430() (interface{}, error) { +func (p *parser) callonImageBlock128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader430() + return p.cur.onImageBlock128() } -func (c *current) onDocumentHeader437() (interface{}, error) { +func (c *current) onImageBlock137() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader437() (interface{}, error) { +func (p *parser) callonImageBlock137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader437() + return p.cur.onImageBlock137() } -func (c *current) onDocumentHeader427(revdate, revremark interface{}) (interface{}, error) { - return types.NewDocumentRevision(nil, revdate, revremark) +func (c *current) onImageBlock133(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeader427() (interface{}, error) { +func (p *parser) callonImageBlock133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader427(stack["revdate"], stack["revremark"]) + return p.cur.onImageBlock133(stack["name"]) } -func (c *current) onDocumentHeader441() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onImageBlock147() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeader441() (interface{}, error) { +func (p *parser) callonImageBlock147() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader441() + return p.cur.onImageBlock147() } -func (c *current) onDocumentHeader382(revision interface{}) (interface{}, error) { - return revision, nil +func (c *current) onImageBlock143(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonDocumentHeader382() (interface{}, error) { +func (p *parser) callonImageBlock143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader382(stack["revision"]) + return p.cur.onImageBlock143(stack["name"]) } -func (c *current) onDocumentHeader139(authors, revision interface{}) (interface{}, error) { - return types.NewDocumentAuthorsAndRevision(authors.(types.DocumentAuthors), revision) +func (c *current) onImageBlock153() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeader139() (interface{}, error) { +func (p *parser) callonImageBlock153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader139(stack["authors"], stack["revision"]) + return p.cur.onImageBlock153() } -func (c *current) onDocumentHeader8(title, authorsAndRevision interface{}) (interface{}, error) { - return types.NewDocumentInformation(title.([]interface{}), authorsAndRevision) +func (c *current) onImageBlock114(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDocumentHeader8() (interface{}, error) { +func (p *parser) callonImageBlock114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader8(stack["title"], stack["authorsAndRevision"]) + return p.cur.onImageBlock114(stack["id"], stack["label"]) } -func (c *current) onDocumentHeader450(extraAttrs, info, moreExtraAttrs interface{}) (bool, error) { - // at least one of title/info/extraArgs must be present - // log.Debugf("checking document header data: title=%s / info=%s / extraAttrs=%s", title, info, extraAttrs) - return info != nil || - len(extraAttrs.([]interface{})) > 0 || - len(moreExtraAttrs.([]interface{})) > 0, nil +func (c *current) onImageBlock160() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonDocumentHeader450() (bool, error) { +func (p *parser) callonImageBlock160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader450(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) + return p.cur.onImageBlock160() } -func (c *current) onDocumentHeader1(extraAttrs, info, moreExtraAttrs interface{}) (interface{}, error) { - attrs := []interface{}{} - if a, ok := extraAttrs.([]interface{}); ok { - attrs = append(attrs, a...) - } - if a, ok := moreExtraAttrs.([]interface{}); ok { - attrs = append(attrs, a...) - } - return types.NewDocumentHeader(info, attrs) +func (c *current) onImageBlock156(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDocumentHeader1() (interface{}, error) { +func (p *parser) callonImageBlock156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeader1(stack["extraAttrs"], stack["info"], stack["moreExtraAttrs"]) + return p.cur.onImageBlock156(stack["id"]) } -func (c *current) onDocumentHeaderAttributes8() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock112() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes8() (interface{}, error) { +func (p *parser) callonImageBlock112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes8() + return p.cur.onImageBlock112() } -func (c *current) onDocumentHeaderAttributes15() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock164() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes15() (interface{}, error) { +func (p *parser) callonImageBlock164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes15() + return p.cur.onImageBlock164() } -func (c *current) onDocumentHeaderAttributes18() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock107(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDocumentHeaderAttributes18() (interface{}, error) { +func (p *parser) callonImageBlock107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes18() + return p.cur.onImageBlock107(stack["element"]) } -func (c *current) onDocumentHeaderAttributes4(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onImageBlock166() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes4() (interface{}, error) { +func (p *parser) callonImageBlock166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes4(stack["name"]) + return p.cur.onImageBlock166() } -func (c *current) onDocumentHeaderAttributes29() (interface{}, error) { - return string(c.text), nil +func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonDocumentHeaderAttributes29() (interface{}, error) { +func (p *parser) callonImageBlock18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes29() + return p.cur.onImageBlock18(stack["elements"]) } -func (c *current) onDocumentHeaderAttributes36() (interface{}, error) { +func (c *current) onImageBlock172() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeaderAttributes36() (interface{}, error) { +func (p *parser) callonImageBlock172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes36() + return p.cur.onImageBlock172() } -func (c *current) onDocumentHeaderAttributes39() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onImageBlock168(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDocumentHeaderAttributes39() (interface{}, error) { +func (p *parser) callonImageBlock168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes39() + return p.cur.onImageBlock168(stack["ref"]) } -func (c *current) onDocumentHeaderAttributes25(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonDocumentHeaderAttributes25() (interface{}, error) { +func (p *parser) callonImageBlock5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes25(stack["name"]) + return p.cur.onImageBlock5(stack["scheme"], stack["path"]) } -func (c *current) onDocumentHeaderAttributes52() (interface{}, error) { - +func (c *current) onImageBlock179() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes52() (interface{}, error) { +func (p *parser) callonImageBlock179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes52() + return p.cur.onImageBlock179() } -func (c *current) onDocumentHeaderAttributes56() (interface{}, error) { +func (c *current) onImageBlock182() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes56() (interface{}, error) { +func (p *parser) callonImageBlock182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes56() + return p.cur.onImageBlock182() } -func (c *current) onDocumentHeaderAttributes46(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +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) callonDocumentHeaderAttributes46() (interface{}, error) { +func (p *parser) callonImageBlock1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes46(stack["content"]) + return p.cur.onImageBlock1(stack["path"], stack["attributes"]) } -func (c *current) onDocumentHeaderAttributes68() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onInlineImage27() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes68() (interface{}, error) { +func (p *parser) callonInlineImage27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes68() + return p.cur.onInlineImage27() } -func (c *current) onDocumentHeaderAttributes74() (interface{}, error) { +func (c *current) onInlineImage31() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonDocumentHeaderAttributes74() (interface{}, error) { +func (p *parser) callonInlineImage31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes74() + return p.cur.onInlineImage31() } -func (c *current) onDocumentHeaderAttributes77() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineImage38() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes77() (interface{}, error) { +func (p *parser) callonInlineImage38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes77() + return p.cur.onInlineImage38() } -func (c *current) onDocumentHeaderAttributes65(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onInlineImage42() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDocumentHeaderAttributes65() (interface{}, error) { +func (p *parser) callonInlineImage42() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes65(stack["delimiter"]) + return p.cur.onInlineImage42() } -func (c *current) onDocumentHeaderAttributes93() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onInlineImage49() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes93() (interface{}, error) { +func (p *parser) callonInlineImage49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes93() + return p.cur.onInlineImage49() } -func (c *current) onDocumentHeaderAttributes99() (interface{}, error) { +func (c *current) onInlineImage61() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes99() (interface{}, error) { +func (p *parser) callonInlineImage61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes99() + return p.cur.onInlineImage61() } -func (c *current) onDocumentHeaderAttributes102() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage63() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonDocumentHeaderAttributes102() (interface{}, error) { +func (p *parser) callonInlineImage63() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes102() + return p.cur.onInlineImage63() } -func (c *current) onDocumentHeaderAttributes90(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) +func (c *current) onInlineImage56(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeaderAttributes90() (interface{}, error) { +func (p *parser) callonInlineImage56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes90(stack["delimiter"]) + return p.cur.onInlineImage56(stack["start"]) } -func (c *current) onDocumentHeaderAttributes118() (interface{}, error) { - - return string(c.text), nil - +func (c *current) onInlineImage45(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes118() (interface{}, error) { +func (p *parser) callonInlineImage45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes118() + return p.cur.onInlineImage45(stack["name"], stack["start"]) } -func (c *current) onDocumentHeaderAttributes122() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineImage71() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes122() (interface{}, error) { +func (p *parser) callonInlineImage71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes122() + return p.cur.onInlineImage71() } -func (c *current) onDocumentHeaderAttributes112(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onInlineImage83() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes112() (interface{}, error) { +func (p *parser) callonInlineImage83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes112(stack["content"]) + return p.cur.onInlineImage83() } -func (c *current) onDocumentHeaderAttributes86(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onInlineImage85() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes86() (interface{}, error) { +func (p *parser) callonInlineImage85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes86(stack["line"]) + return p.cur.onInlineImage85() } -func (c *current) onDocumentHeaderAttributes134() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onInlineImage78(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDocumentHeaderAttributes134() (interface{}, error) { +func (p *parser) callonInlineImage78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes134() + return p.cur.onInlineImage78(stack["start"]) } -func (c *current) onDocumentHeaderAttributes140() (interface{}, error) { - return string(c.text), nil - +func (c *current) onInlineImage67(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes140() (interface{}, error) { +func (p *parser) callonInlineImage67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes140() + return p.cur.onInlineImage67(stack["name"], stack["start"]) } -func (c *current) onDocumentHeaderAttributes143() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineImage93() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDocumentHeaderAttributes143() (interface{}, error) { +func (p *parser) callonInlineImage93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes143() + return p.cur.onInlineImage93() } -func (c *current) onDocumentHeaderAttributes131(delimiter interface{}) (interface{}, error) { +func (c *current) onInlineImage89(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDocumentHeaderAttributes131() (interface{}, error) { +func (p *parser) callonInlineImage89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes131(stack["delimiter"]) + return p.cur.onInlineImage89(stack["name"]) } -func (c *current) onDocumentHeaderAttributes63(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onInlineImage103() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDocumentHeaderAttributes63() (interface{}, error) { +func (p *parser) callonInlineImage103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes63(stack["delimiter"], stack["content"]) + return p.cur.onInlineImage103() } -func (c *current) onDocumentHeaderAttributes158() (interface{}, error) { - return string(c.text), nil +func (c *current) onInlineImage99(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDocumentHeaderAttributes158() (interface{}, error) { +func (p *parser) callonInlineImage99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes158() + return p.cur.onInlineImage99(stack["name"]) } -func (c *current) onDocumentHeaderAttributes161() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage40(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonDocumentHeaderAttributes161() (interface{}, error) { +func (p *parser) callonInlineImage40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes161() + return p.cur.onInlineImage40(stack["element"]) } -func (c *current) onDocumentHeaderAttributes152() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onInlineImage111() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDocumentHeaderAttributes152() (interface{}, error) { +func (p *parser) callonInlineImage111() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDocumentHeaderAttributes152() + return p.cur.onInlineImage111() } -func (c *current) onInlineElement9() (interface{}, error) { +func (c *current) onInlineImage120() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineElement9() (interface{}, error) { +func (p *parser) callonInlineImage120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement9() + return p.cur.onInlineImage120() } -func (c *current) onInlineElement14() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineImage124() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonInlineElement14() (interface{}, error) { +func (p *parser) callonInlineImage124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement14() + return p.cur.onInlineImage124() } -func (c *current) onInlineElement4() (interface{}, error) { - // TODO: also allow trailing quotes/quotation marks? +func (c *current) onInlineImage130() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement4() (interface{}, error) { +func (p *parser) callonInlineImage130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement4() + return p.cur.onInlineImage130() } -func (c *current) onInlineElement21() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onInlineImage139() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement21() (interface{}, error) { +func (p *parser) callonInlineImage139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement21() + return p.cur.onInlineImage139() } -func (c *current) onInlineElement26() (bool, error) { +func (c *current) onInlineImage135(name interface{}) (interface{}, error) { - return c.isSubstitutionEnabled(PostReplacements) && c.isPreceededBySpace(), nil + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonInlineElement26() (bool, error) { +func (p *parser) callonInlineImage135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement26() + return p.cur.onInlineImage135(stack["name"]) } -func (c *current) onInlineElement29() (interface{}, error) { +func (c *current) onInlineImage149() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement29() (interface{}, error) { +func (p *parser) callonInlineImage149() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement29() -} - -func (c *current) onInlineElement33() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onInlineImage149() } -func (p *parser) callonInlineElement33() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineElement33() -} +func (c *current) onInlineImage145(name interface{}) (interface{}, error) { -func (c *current) onInlineElement24() (interface{}, error) { - return types.NewLineBreak() + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineElement24() (interface{}, error) { +func (p *parser) callonInlineImage145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement24() -} - -func (c *current) onInlineElement44() (interface{}, error) { - return types.NewSymbol("\"`") - + return p.cur.onInlineImage145(stack["name"]) } -func (p *parser) callonInlineElement44() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onInlineElement44() -} +func (c *current) onInlineImage155() (interface{}, error) { -func (c *current) onInlineElement46() (interface{}, error) { - return types.NewSymbol("`\"") + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement46() (interface{}, error) { +func (p *parser) callonInlineImage155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement46() + return p.cur.onInlineImage155() } -func (c *current) onInlineElement48() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onInlineImage116(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonInlineElement48() (interface{}, error) { +func (p *parser) callonInlineImage116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement48() + return p.cur.onInlineImage116(stack["id"], stack["label"]) } -func (c *current) onInlineElement50() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onInlineImage162() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonInlineElement50() (interface{}, error) { +func (p *parser) callonInlineImage162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement50() + return p.cur.onInlineImage162() } -func (c *current) onInlineElement52() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onInlineImage158(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonInlineElement52() (interface{}, error) { +func (p *parser) callonInlineImage158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement52() + return p.cur.onInlineImage158(stack["id"]) } -func (c *current) onInlineElement54() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onInlineImage114() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement54() (interface{}, error) { +func (p *parser) callonInlineImage114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement54() + return p.cur.onInlineImage114() } -func (c *current) onInlineElement56() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onInlineImage166() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonInlineElement56() (interface{}, error) { +func (p *parser) callonInlineImage166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement56() + return p.cur.onInlineImage166() } -func (c *current) onInlineElement58() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onInlineImage109(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonInlineElement58() (interface{}, error) { +func (p *parser) callonInlineImage109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement58() + return p.cur.onInlineImage109(stack["element"]) } -func (c *current) onInlineElement60() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onInlineImage168() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement60() (interface{}, error) { +func (p *parser) callonInlineImage168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement60() + return p.cur.onInlineImage168() } -func (c *current) onInlineElement64() (bool, error) { - return c.isPreceededBySpace(), nil +func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonInlineElement64() (bool, error) { +func (p *parser) callonInlineImage20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement64() + return p.cur.onInlineImage20(stack["elements"]) } -func (c *current) onInlineElement67() (interface{}, error) { +func (c *current) onInlineImage174() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonInlineElement67() (interface{}, error) { +func (p *parser) callonInlineImage174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement67() + return p.cur.onInlineImage174() } -func (c *current) onInlineElement71() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onInlineImage170(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonInlineElement71() (interface{}, error) { +func (p *parser) callonInlineImage170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement71() + return p.cur.onInlineImage170(stack["ref"]) } -func (c *current) onInlineElement62() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonInlineElement62() (interface{}, error) { +func (p *parser) callonInlineImage7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement62() + return p.cur.onInlineImage7(stack["scheme"], stack["path"]) } -func (c *current) onInlineElement80() (bool, error) { - return c.isPreceededByAlphanum(), nil +func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { + return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonInlineElement80() (bool, error) { +func (p *parser) callonInlineImage1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement80() + return p.cur.onInlineImage1(stack["path"], stack["attributes"]) } -func (c *current) onInlineElement85() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onInlineIcon5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement85() (interface{}, error) { +func (p *parser) callonInlineIcon5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement85() + return p.cur.onInlineIcon5() } -func (c *current) onInlineElement78() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { + return types.NewIcon(icon.(string), attributes) } -func (p *parser) callonInlineElement78() (interface{}, error) { +func (p *parser) callonInlineIcon1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement78() + return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) } -func (c *current) onInlineElement92() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onInlineFootnote6() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement92() (interface{}, error) { +func (p *parser) callonInlineFootnote6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement92() + return p.cur.onInlineFootnote6() } -func (c *current) onInlineElement94() (interface{}, error) { - return types.NewSymbol("=>") +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) callonInlineElement94() (interface{}, error) { +func (p *parser) callonInlineFootnote1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement94() + return p.cur.onInlineFootnote1(stack["ref"], stack["elements"]) } -func (c *current) onInlineElement96() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onFootnoteElements1(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonInlineElement96() (interface{}, error) { +func (p *parser) callonFootnoteElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement96() + return p.cur.onFootnoteElements1(stack["elements"]) } -func (c *current) onInlineElement40() (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onFootnoteElement8() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonInlineElement40() (interface{}, error) { +func (p *parser) callonFootnoteElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement40() + return p.cur.onFootnoteElement8() } -func (c *current) onInlineElement98() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onFootnoteElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonInlineElement98() (interface{}, error) { +func (p *parser) callonFootnoteElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement98() + return p.cur.onFootnoteElement1(stack["element"]) } -func (c *current) onInlineElement100() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onPassthroughMacro7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement100() (interface{}, error) { +func (p *parser) callonPassthroughMacro7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement100() + return p.cur.onPassthroughMacro7() } -func (c *current) onInlineElement102() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) } -func (p *parser) callonInlineElement102() (interface{}, error) { +func (p *parser) callonPassthroughMacro2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement102() + return p.cur.onPassthroughMacro2(stack["content"]) } -func (c *current) onInlineElement104() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onPassthroughMacro17() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement104() (interface{}, error) { +func (p *parser) callonPassthroughMacro17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement104() + return p.cur.onPassthroughMacro17() } -func (c *current) onInlineElement106() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { + return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) } -func (p *parser) callonInlineElement106() (interface{}, error) { +func (p *parser) callonPassthroughMacro10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement106() + return p.cur.onPassthroughMacro10(stack["content"]) } -func (c *current) onInlineElement108() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onLink26() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement108() (interface{}, error) { +func (p *parser) callonLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement108() + return p.cur.onLink26() } -func (c *current) onInlineElement110() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onLink30() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement110() (interface{}, error) { +func (p *parser) callonLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement110() + return p.cur.onLink30() } -func (c *current) onInlineElement112() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onLink37() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement112() (interface{}, error) { +func (p *parser) callonLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement112() + return p.cur.onLink37() } -func (c *current) onInlineElement116() (bool, error) { - return c.isPreceededBySpace(), nil +func (c *current) onLink41() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonInlineElement116() (bool, error) { +func (p *parser) callonLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement116() + return p.cur.onLink41() } -func (c *current) onInlineElement119() (interface{}, error) { +func (c *current) onLink48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement119() (interface{}, error) { +func (p *parser) callonLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement119() + return p.cur.onLink48() } -func (c *current) onInlineElement123() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onLink60() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonInlineElement123() (interface{}, error) { +func (p *parser) callonLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement123() + return p.cur.onLink60() } -func (c *current) onInlineElement114() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onLink62() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement114() (interface{}, error) { +func (p *parser) callonLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement114() + return p.cur.onLink62() } -func (c *current) onInlineElement132() (bool, error) { - return c.isPreceededByAlphanum(), nil +func (c *current) onLink55(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineElement132() (bool, error) { +func (p *parser) callonLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement132() + return p.cur.onLink55(stack["start"]) } -func (c *current) onInlineElement137() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onLink44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineElement137() (interface{}, error) { +func (p *parser) callonLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement137() + return p.cur.onLink44(stack["name"], stack["start"]) } -func (c *current) onInlineElement130() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onLink70() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement130() (interface{}, error) { +func (p *parser) callonLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement130() + return p.cur.onLink70() } -func (c *current) onInlineElement144() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onLink82() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement144() (interface{}, error) { +func (p *parser) callonLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement144() + return p.cur.onLink82() } -func (c *current) onInlineElement146() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onLink84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement146() (interface{}, error) { +func (p *parser) callonLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement146() + return p.cur.onLink84() } -func (c *current) onInlineElement148() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onLink77(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineElement148() (interface{}, error) { +func (p *parser) callonLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement148() + return p.cur.onLink77(stack["start"]) } -func (c *current) onInlineElement150() (interface{}, error) { - return types.NewSymbol("<=") - +func (c *current) onLink66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonInlineElement150() (interface{}, error) { +func (p *parser) callonLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement150() + return p.cur.onLink66(stack["name"], stack["start"]) } -func (c *current) onInlineElement152() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onLink92() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement152() (interface{}, error) { +func (p *parser) callonLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement152() + return p.cur.onLink92() } -func (c *current) onInlineElement158() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onLink88(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonInlineElement158() (interface{}, error) { +func (p *parser) callonLink88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement158() + return p.cur.onLink88(stack["name"]) } -func (c *current) onInlineElement167() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onLink102() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement167() (bool, error) { +func (p *parser) callonLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement167() + return p.cur.onLink102() } -func (c *current) onInlineElement174() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink98(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineElement174() (interface{}, error) { +func (p *parser) callonLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement174() + return p.cur.onLink98(stack["name"]) } -func (c *current) onInlineElement186() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink39(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonInlineElement186() (interface{}, error) { +func (p *parser) callonLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement186() + return p.cur.onLink39(stack["element"]) } -func (c *current) onInlineElement188() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onLink110() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonInlineElement188() (interface{}, error) { +func (p *parser) callonLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement188() + return p.cur.onLink110() } -func (c *current) onInlineElement181(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onLink119() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonInlineElement181() (interface{}, error) { +func (p *parser) callonLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement181(stack["start"]) + return p.cur.onLink119() } -func (c *current) onInlineElement170(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onLink123() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineElement170() (interface{}, error) { +func (p *parser) callonLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement170(stack["name"], stack["start"]) + return p.cur.onLink123() } -func (c *current) onInlineElement196() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink129() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement196() (interface{}, error) { +func (p *parser) callonLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement196() + return p.cur.onLink129() } -func (c *current) onInlineElement208() (interface{}, error) { +func (c *current) onLink138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineElement208() (interface{}, error) { +func (p *parser) callonLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement208() + return p.cur.onLink138() } -func (c *current) onInlineElement210() (interface{}, error) { +func (c *current) onLink134(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) callonInlineElement210() (interface{}, error) { +func (p *parser) callonLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement210() + return p.cur.onLink134(stack["name"]) } -func (c *current) onInlineElement203(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onLink148() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement203() (interface{}, error) { +func (p *parser) callonLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement203(stack["start"]) + return p.cur.onLink148() } -func (c *current) onInlineElement192(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onLink144(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonInlineElement192() (interface{}, error) { +func (p *parser) callonLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement192(stack["name"], stack["start"]) + return p.cur.onLink144(stack["name"]) } -func (c *current) onInlineElement218() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink154() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement218() (interface{}, error) { +func (p *parser) callonLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement218() + return p.cur.onLink154() } -func (c *current) onInlineElement214(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onLink115(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonInlineElement214() (interface{}, error) { +func (p *parser) callonLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement214(stack["name"]) + return p.cur.onLink115(stack["id"], stack["label"]) } -func (c *current) onInlineElement228() (interface{}, error) { +func (c *current) onLink161() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineElement228() (interface{}, error) { +func (p *parser) callonLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement228() + return p.cur.onLink161() } -func (c *current) onInlineElement224(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onLink157(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonInlineElement224() (interface{}, error) { +func (p *parser) callonLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement224(stack["name"]) + return p.cur.onLink157(stack["id"]) } -func (c *current) onInlineElement165(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onLink113() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement165() (interface{}, error) { +func (p *parser) callonLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement165(stack["element"]) + return p.cur.onLink113() } -func (c *current) onInlineElement237() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onLink165() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonInlineElement237() (bool, error) { +func (p *parser) callonLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement237() + return p.cur.onLink165() } -func (c *current) onInlineElement246() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onLink108(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonInlineElement246() (interface{}, error) { +func (p *parser) callonLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement246() + return p.cur.onLink108(stack["element"]) } -func (c *current) onInlineElement250() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement250() (interface{}, error) { +func (p *parser) callonLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement250() + return p.cur.onLink167() } -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) onLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonInlineElement256() (interface{}, error) { +func (p *parser) callonLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement256() + return p.cur.onLink19(stack["elements"]) } -func (c *current) onInlineElement265() (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) callonInlineElement265() (interface{}, error) { +func (p *parser) callonLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement265() + return p.cur.onLink6(stack["scheme"], stack["path"]) } -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) onLink171(url interface{}) (bool, error) { + return url.(*types.Location).TrimAngleBracketSuffix() } -func (p *parser) callonInlineElement261() (interface{}, error) { +func (p *parser) callonLink171() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement261(stack["name"]) + return p.cur.onLink171(stack["url"]) } -func (c *current) onInlineElement275() (interface{}, error) { - return string(c.text), nil +func (c *current) onLink2(url interface{}) (interface{}, error) { + + return types.NewInlineLink(url.(*types.Location), nil) } -func (p *parser) callonInlineElement275() (interface{}, error) { +func (p *parser) callonLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement275() + return p.cur.onLink2(stack["url"]) } -func (c *current) onInlineElement271(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onRelativeLink26() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineElement271() (interface{}, error) { +func (p *parser) callonRelativeLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement271(stack["name"]) + return p.cur.onRelativeLink26() } -func (c *current) onInlineElement281() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onRelativeLink30() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement281() (interface{}, error) { +func (p *parser) callonRelativeLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement281() + return p.cur.onRelativeLink30() } -func (c *current) onInlineElement242(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onRelativeLink37() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement242() (interface{}, error) { +func (p *parser) callonRelativeLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement242(stack["id"], stack["label"]) + return p.cur.onRelativeLink37() } -func (c *current) onInlineElement288() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onRelativeLink41() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonInlineElement288() (interface{}, error) { +func (p *parser) callonRelativeLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement288() + return p.cur.onRelativeLink41() } -func (c *current) onInlineElement284(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onRelativeLink48() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement284() (interface{}, error) { +func (p *parser) callonRelativeLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement284(stack["id"]) + return p.cur.onRelativeLink48() } -func (c *current) onInlineElement240() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onRelativeLink60() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineElement240() (interface{}, error) { +func (p *parser) callonRelativeLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement240() + return p.cur.onRelativeLink60() } -func (c *current) onInlineElement292() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onRelativeLink62() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineElement292() (interface{}, error) { +func (p *parser) callonRelativeLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement292() + return p.cur.onRelativeLink62() } -func (c *current) onInlineElement235(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onRelativeLink55(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineElement235() (interface{}, error) { +func (p *parser) callonRelativeLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement235(stack["element"]) + return p.cur.onRelativeLink55(stack["start"]) } -func (c *current) onInlineElement294() (interface{}, error) { - - return string(c.text), nil - +func (c *current) onRelativeLink44(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineElement294() (interface{}, error) { +func (p *parser) callonRelativeLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement294() + return p.cur.onRelativeLink44(stack["name"], stack["start"]) } -func (c *current) onInlineElement1(element interface{}) (interface{}, error) { - c.trackSuffix(element) - return element, nil +func (c *current) onRelativeLink70() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineElement1() (interface{}, error) { +func (p *parser) callonRelativeLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineElement1(stack["element"]) + return p.cur.onRelativeLink70() } -func (c *current) onInlineButton3() (bool, error) { - return c.isExperimentalEnabled(), nil +func (c *current) onRelativeLink82() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineButton3() (bool, error) { +func (p *parser) callonRelativeLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton3() + return p.cur.onRelativeLink82() } -func (c *current) onInlineButton1(attributes interface{}) (interface{}, error) { - return types.NewInlineButton(attributes.(types.Attributes)) +func (c *current) onRelativeLink84() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineButton1() (interface{}, error) { +func (p *parser) callonRelativeLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineButton1(stack["attributes"]) + return p.cur.onRelativeLink84() } -func (c *current) onInlineMenu3() (bool, error) { - return c.isExperimentalEnabled(), nil +func (c *current) onRelativeLink77(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonInlineMenu3() (bool, error) { +func (p *parser) callonRelativeLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu3() + return p.cur.onRelativeLink77(stack["start"]) } -func (c *current) onInlineMenu6() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - +func (c *current) onRelativeLink66(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonInlineMenu6() (interface{}, error) { +func (p *parser) callonRelativeLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu6() + return p.cur.onRelativeLink66(stack["name"], stack["start"]) } -func (c *current) onInlineMenu1(id, attributes interface{}) (interface{}, error) { - return types.NewInlineMenu(id.(string), attributes.(types.Attributes)) +func (c *current) onRelativeLink92() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineMenu1() (interface{}, error) { +func (p *parser) callonRelativeLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineMenu1(stack["id"], stack["attributes"]) + return p.cur.onRelativeLink92() } -func (c *current) onIndexTerm1(term interface{}) (interface{}, error) { - return types.NewIndexTerm(term.([]interface{})) +func (c *current) onRelativeLink88(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonIndexTerm1() (interface{}, error) { +func (p *parser) callonRelativeLink88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTerm1(stack["term"]) + return p.cur.onRelativeLink88(stack["name"]) } -func (c *current) onIndexTermContent5() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onRelativeLink102() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonIndexTermContent5() (interface{}, error) { +func (p *parser) callonRelativeLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent5() + return p.cur.onRelativeLink102() } -func (c *current) onIndexTermContent14() (interface{}, error) { - // allow ` - return types.NewStringElement(string(c.text)) +func (c *current) onRelativeLink98(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonIndexTermContent14() (interface{}, error) { +func (p *parser) callonRelativeLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent14() + return p.cur.onRelativeLink98(stack["name"]) } -func (c *current) onIndexTermContent24() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink39(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonIndexTermContent24() (interface{}, error) { +func (p *parser) callonRelativeLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent24() + return p.cur.onRelativeLink39(stack["element"]) } -func (c *current) onIndexTermContent28() (bool, error) { +func (c *current) onRelativeLink110() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonIndexTermContent28() (bool, error) { +func (p *parser) callonRelativeLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent28() + return p.cur.onRelativeLink110() } -func (c *current) onIndexTermContent37() (interface{}, error) { +func (c *current) onRelativeLink119() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonIndexTermContent37() (interface{}, error) { +func (p *parser) callonRelativeLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent37() + return p.cur.onRelativeLink119() } -func (c *current) onIndexTermContent41() (interface{}, error) { +func (c *current) onRelativeLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent41() (interface{}, error) { +func (p *parser) callonRelativeLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent41() + return p.cur.onRelativeLink123() } -func (c *current) onIndexTermContent47() (interface{}, error) { +func (c *current) onRelativeLink129() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonIndexTermContent47() (interface{}, error) { +func (p *parser) callonRelativeLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent47() + return p.cur.onRelativeLink129() } -func (c *current) onIndexTermContent56() (interface{}, error) { +func (c *current) onRelativeLink138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent56() (interface{}, error) { +func (p *parser) callonRelativeLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent56() + return p.cur.onRelativeLink138() } -func (c *current) onIndexTermContent52(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink134(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -85138,320 +89734,344 @@ func (c *current) onIndexTermContent52(name interface{}) (interface{}, error) { } -func (p *parser) callonIndexTermContent52() (interface{}, error) { +func (p *parser) callonRelativeLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent52(stack["name"]) + return p.cur.onRelativeLink134(stack["name"]) } -func (c *current) onIndexTermContent66() (interface{}, error) { +func (c *current) onRelativeLink148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent66() (interface{}, error) { +func (p *parser) callonRelativeLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent66() + return p.cur.onRelativeLink148() } -func (c *current) onIndexTermContent62(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink144(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonIndexTermContent62() (interface{}, error) { +func (p *parser) callonRelativeLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent62(stack["name"]) + return p.cur.onRelativeLink144(stack["name"]) } -func (c *current) onIndexTermContent72() (interface{}, error) { +func (c *current) onRelativeLink154() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonIndexTermContent72() (interface{}, error) { +func (p *parser) callonRelativeLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent72() + return p.cur.onRelativeLink154() } -func (c *current) onIndexTermContent33(id, label interface{}) (interface{}, error) { +func (c *current) onRelativeLink115(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonIndexTermContent33() (interface{}, error) { +func (p *parser) callonRelativeLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent33(stack["id"], stack["label"]) + return p.cur.onRelativeLink115(stack["id"], stack["label"]) } -func (c *current) onIndexTermContent79() (interface{}, error) { +func (c *current) onRelativeLink161() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonIndexTermContent79() (interface{}, error) { +func (p *parser) callonRelativeLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent79() + return p.cur.onRelativeLink161() } -func (c *current) onIndexTermContent75(id interface{}) (interface{}, error) { +func (c *current) onRelativeLink157(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonIndexTermContent75() (interface{}, error) { +func (p *parser) callonRelativeLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent75(stack["id"]) + return p.cur.onRelativeLink157(stack["id"]) } -func (c *current) onIndexTermContent31() (interface{}, error) { +func (c *current) onRelativeLink113() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonIndexTermContent31() (interface{}, error) { +func (p *parser) callonRelativeLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent31() + return p.cur.onRelativeLink113() } -func (c *current) onIndexTermContent83() (interface{}, error) { +func (c *current) onRelativeLink165() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonIndexTermContent83() (interface{}, error) { +func (p *parser) callonRelativeLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent83() + return p.cur.onRelativeLink165() } -func (c *current) onIndexTermContent26(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink108(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonIndexTermContent26() (interface{}, error) { +func (p *parser) callonRelativeLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent26(stack["element"]) + return p.cur.onRelativeLink108(stack["element"]) } -func (c *current) onIndexTermContent89() (interface{}, error) { +func (c *current) onRelativeLink167() (interface{}, error) { + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonRelativeLink167() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink167() +} + +func (c *current) onRelativeLink19(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) + +} + +func (p *parser) callonRelativeLink19() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onRelativeLink19(stack["elements"]) +} + +func (c *current) onRelativeLink173() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonIndexTermContent89() (interface{}, error) { +func (p *parser) callonRelativeLink173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent89() + return p.cur.onRelativeLink173() } -func (c *current) onIndexTermContent85(ref interface{}) (interface{}, error) { +func (c *current) onRelativeLink169(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonIndexTermContent85() (interface{}, error) { +func (p *parser) callonRelativeLink169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent85(stack["ref"]) + return p.cur.onRelativeLink169(stack["ref"]) } -func (c *current) onIndexTermContent93() (interface{}, error) { - return string(c.text), nil +func (c *current) onRelativeLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + } -func (p *parser) callonIndexTermContent93() (interface{}, error) { +func (p *parser) callonRelativeLink6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent93() + return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) } -func (c *current) onIndexTermContent1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonIndexTermContent1() (interface{}, error) { +func (p *parser) callonRelativeLink2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onIndexTermContent1(stack["elements"]) + return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) } -func (c *current) onImageBlock25() (interface{}, error) { +func (c *current) onRelativeLink203() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock25() (interface{}, error) { +func (p *parser) callonRelativeLink203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock25() + return p.cur.onRelativeLink203() } -func (c *current) onImageBlock29() (interface{}, error) { +func (c *current) onRelativeLink207() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock29() (interface{}, error) { +func (p *parser) callonRelativeLink207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock29() + return p.cur.onRelativeLink207() } -func (c *current) onImageBlock36() (interface{}, error) { +func (c *current) onRelativeLink214() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock36() (interface{}, error) { +func (p *parser) callonRelativeLink214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock36() + return p.cur.onRelativeLink214() } -func (c *current) onImageBlock40() (bool, error) { +func (c *current) onRelativeLink218() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonImageBlock40() (bool, error) { +func (p *parser) callonRelativeLink218() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock40() + return p.cur.onRelativeLink218() } -func (c *current) onImageBlock47() (interface{}, error) { +func (c *current) onRelativeLink225() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock47() (interface{}, error) { +func (p *parser) callonRelativeLink225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock47() + return p.cur.onRelativeLink225() } -func (c *current) onImageBlock59() (interface{}, error) { +func (c *current) onRelativeLink237() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock59() (interface{}, error) { +func (p *parser) callonRelativeLink237() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock59() + return p.cur.onRelativeLink237() } -func (c *current) onImageBlock61() (interface{}, error) { +func (c *current) onRelativeLink239() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonImageBlock61() (interface{}, error) { +func (p *parser) callonRelativeLink239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock61() + return p.cur.onRelativeLink239() } -func (c *current) onImageBlock54(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink232(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonImageBlock54() (interface{}, error) { +func (p *parser) callonRelativeLink232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock54(stack["start"]) + return p.cur.onRelativeLink232(stack["start"]) } -func (c *current) onImageBlock43(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink221(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonImageBlock43() (interface{}, error) { +func (p *parser) callonRelativeLink221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock43(stack["name"], stack["start"]) + return p.cur.onRelativeLink221(stack["name"], stack["start"]) } -func (c *current) onImageBlock69() (interface{}, error) { +func (c *current) onRelativeLink247() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock69() (interface{}, error) { +func (p *parser) callonRelativeLink247() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock69() + return p.cur.onRelativeLink247() } -func (c *current) onImageBlock81() (interface{}, error) { +func (c *current) onRelativeLink259() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock81() (interface{}, error) { +func (p *parser) callonRelativeLink259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock81() + return p.cur.onRelativeLink259() } -func (c *current) onImageBlock83() (interface{}, error) { +func (c *current) onRelativeLink261() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonImageBlock83() (interface{}, error) { +func (p *parser) callonRelativeLink261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock83() + return p.cur.onRelativeLink261() } -func (c *current) onImageBlock76(start interface{}) (interface{}, error) { +func (c *current) onRelativeLink254(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonImageBlock76() (interface{}, error) { +func (p *parser) callonRelativeLink254() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock76(stack["start"]) + return p.cur.onRelativeLink254(stack["start"]) } -func (c *current) onImageBlock65(name, start interface{}) (interface{}, error) { +func (c *current) onRelativeLink243(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonImageBlock65() (interface{}, error) { +func (p *parser) callonRelativeLink243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock65(stack["name"], stack["start"]) + return p.cur.onRelativeLink243(stack["name"], stack["start"]) } -func (c *current) onImageBlock91() (interface{}, error) { +func (c *current) onRelativeLink269() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock91() (interface{}, error) { +func (p *parser) callonRelativeLink269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock91() + return p.cur.onRelativeLink269() } -func (c *current) onImageBlock87(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink265(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -85459,104 +90079,104 @@ func (c *current) onImageBlock87(name interface{}) (interface{}, error) { } -func (p *parser) callonImageBlock87() (interface{}, error) { +func (p *parser) callonRelativeLink265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock87(stack["name"]) + return p.cur.onRelativeLink265(stack["name"]) } -func (c *current) onImageBlock101() (interface{}, error) { +func (c *current) onRelativeLink279() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock101() (interface{}, error) { +func (p *parser) callonRelativeLink279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock101() + return p.cur.onRelativeLink279() } -func (c *current) onImageBlock97(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink275(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock97() (interface{}, error) { +func (p *parser) callonRelativeLink275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock97(stack["name"]) + return p.cur.onRelativeLink275(stack["name"]) } -func (c *current) onImageBlock38(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink216(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonImageBlock38() (interface{}, error) { +func (p *parser) callonRelativeLink216() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock38(stack["element"]) + return p.cur.onRelativeLink216(stack["element"]) } -func (c *current) onImageBlock109() (bool, error) { +func (c *current) onRelativeLink287() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonImageBlock109() (bool, error) { +func (p *parser) callonRelativeLink287() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock109() + return p.cur.onRelativeLink287() } -func (c *current) onImageBlock118() (interface{}, error) { +func (c *current) onRelativeLink296() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonImageBlock118() (interface{}, error) { +func (p *parser) callonRelativeLink296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock118() + return p.cur.onRelativeLink296() } -func (c *current) onImageBlock122() (interface{}, error) { +func (c *current) onRelativeLink300() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock122() (interface{}, error) { +func (p *parser) callonRelativeLink300() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock122() + return p.cur.onRelativeLink300() } -func (c *current) onImageBlock128() (interface{}, error) { +func (c *current) onRelativeLink306() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock128() (interface{}, error) { +func (p *parser) callonRelativeLink306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock128() + return p.cur.onRelativeLink306() } -func (c *current) onImageBlock137() (interface{}, error) { +func (c *current) onRelativeLink315() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock137() (interface{}, error) { +func (p *parser) callonRelativeLink315() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock137() + return p.cur.onRelativeLink315() } -func (c *current) onImageBlock133(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink311(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -85564,367 +90184,344 @@ func (c *current) onImageBlock133(name interface{}) (interface{}, error) { } -func (p *parser) callonImageBlock133() (interface{}, error) { +func (p *parser) callonRelativeLink311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock133(stack["name"]) + return p.cur.onRelativeLink311(stack["name"]) } -func (c *current) onImageBlock147() (interface{}, error) { +func (c *current) onRelativeLink325() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonImageBlock147() (interface{}, error) { +func (p *parser) callonRelativeLink325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock147() + return p.cur.onRelativeLink325() } -func (c *current) onImageBlock143(name interface{}) (interface{}, error) { +func (c *current) onRelativeLink321(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonImageBlock143() (interface{}, error) { +func (p *parser) callonRelativeLink321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock143(stack["name"]) + return p.cur.onRelativeLink321(stack["name"]) } -func (c *current) onImageBlock153() (interface{}, error) { +func (c *current) onRelativeLink331() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock153() (interface{}, error) { +func (p *parser) callonRelativeLink331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock153() + return p.cur.onRelativeLink331() } -func (c *current) onImageBlock114(id, label interface{}) (interface{}, error) { +func (c *current) onRelativeLink292(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonImageBlock114() (interface{}, error) { +func (p *parser) callonRelativeLink292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock114(stack["id"], stack["label"]) + return p.cur.onRelativeLink292(stack["id"], stack["label"]) } -func (c *current) onImageBlock160() (interface{}, error) { +func (c *current) onRelativeLink338() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonImageBlock160() (interface{}, error) { +func (p *parser) callonRelativeLink338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock160() + return p.cur.onRelativeLink338() } -func (c *current) onImageBlock156(id interface{}) (interface{}, error) { +func (c *current) onRelativeLink334(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonImageBlock156() (interface{}, error) { +func (p *parser) callonRelativeLink334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock156(stack["id"]) + return p.cur.onRelativeLink334(stack["id"]) } -func (c *current) onImageBlock112() (interface{}, error) { +func (c *current) onRelativeLink290() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock112() (interface{}, error) { +func (p *parser) callonRelativeLink290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock112() + return p.cur.onRelativeLink290() } -func (c *current) onImageBlock164() (interface{}, error) { +func (c *current) onRelativeLink342() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonImageBlock164() (interface{}, error) { +func (p *parser) callonRelativeLink342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock164() + return p.cur.onRelativeLink342() } -func (c *current) onImageBlock107(element interface{}) (interface{}, error) { +func (c *current) onRelativeLink285(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonImageBlock107() (interface{}, error) { +func (p *parser) callonRelativeLink285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock107(stack["element"]) + return p.cur.onRelativeLink285(stack["element"]) } -func (c *current) onImageBlock166() (interface{}, error) { +func (c *current) onRelativeLink344() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonImageBlock166() (interface{}, error) { +func (p *parser) callonRelativeLink344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock166() + return p.cur.onRelativeLink344() } -func (c *current) onImageBlock18(elements interface{}) (interface{}, error) { +func (c *current) onRelativeLink196(elements interface{}) (interface{}, error) { return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonImageBlock18() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onImageBlock18(stack["elements"]) -} - -func (c *current) onImageBlock172() (interface{}, error) { - return string(c.text), nil -} - -func (p *parser) callonImageBlock172() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onImageBlock172() -} - -func (c *current) onImageBlock168(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) -} - -func (p *parser) callonImageBlock168() (interface{}, error) { +func (p *parser) callonRelativeLink196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock168(stack["ref"]) + return p.cur.onRelativeLink196(stack["elements"]) } -func (c *current) onImageBlock5(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) - +func (c *current) onRelativeLink350() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonImageBlock5() (interface{}, error) { +func (p *parser) callonRelativeLink350() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock5(stack["scheme"], stack["path"]) + return p.cur.onRelativeLink350() } -func (c *current) onImageBlock179() (interface{}, error) { - return string(c.text), nil - +func (c *current) onRelativeLink346(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonImageBlock179() (interface{}, error) { +func (p *parser) callonRelativeLink346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock179() + return p.cur.onRelativeLink346(stack["ref"]) } -func (c *current) onImageBlock182() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onRelativeLink183(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + } -func (p *parser) callonImageBlock182() (interface{}, error) { +func (p *parser) callonRelativeLink183() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock182() + return p.cur.onRelativeLink183(stack["scheme"], stack["path"]) } -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) onRelativeLink179(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) } -func (p *parser) callonImageBlock1() (interface{}, error) { +func (p *parser) callonRelativeLink179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onImageBlock1(stack["path"], stack["attributes"]) + return p.cur.onRelativeLink179(stack["url"], stack["attributes"]) } -func (c *current) onInlineImage27() (interface{}, error) { +func (c *current) onExternalLink26() (interface{}, error) { // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage27() (interface{}, error) { +func (p *parser) callonExternalLink26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage27() + return p.cur.onExternalLink26() } -func (c *current) onInlineImage31() (interface{}, error) { +func (c *current) onExternalLink30() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage31() (interface{}, error) { +func (p *parser) callonExternalLink30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage31() + return p.cur.onExternalLink30() } -func (c *current) onInlineImage38() (interface{}, error) { +func (c *current) onExternalLink37() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage38() (interface{}, error) { +func (p *parser) callonExternalLink37() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage38() + return p.cur.onExternalLink37() } -func (c *current) onInlineImage42() (bool, error) { +func (c *current) onExternalLink41() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonInlineImage42() (bool, error) { +func (p *parser) callonExternalLink41() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage42() + return p.cur.onExternalLink41() } -func (c *current) onInlineImage49() (interface{}, error) { +func (c *current) onExternalLink48() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage49() (interface{}, error) { +func (p *parser) callonExternalLink48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage49() + return p.cur.onExternalLink48() } -func (c *current) onInlineImage61() (interface{}, error) { +func (c *current) onExternalLink60() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage61() (interface{}, error) { +func (p *parser) callonExternalLink60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage61() + return p.cur.onExternalLink60() } -func (c *current) onInlineImage63() (interface{}, error) { +func (c *current) onExternalLink62() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineImage63() (interface{}, error) { +func (p *parser) callonExternalLink62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage63() + return p.cur.onExternalLink62() } -func (c *current) onInlineImage56(start interface{}) (interface{}, error) { +func (c *current) onExternalLink55(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonInlineImage56() (interface{}, error) { +func (p *parser) callonExternalLink55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage56(stack["start"]) + return p.cur.onExternalLink55(stack["start"]) } -func (c *current) onInlineImage45(name, start interface{}) (interface{}, error) { +func (c *current) onExternalLink44(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonInlineImage45() (interface{}, error) { +func (p *parser) callonExternalLink44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage45(stack["name"], stack["start"]) + return p.cur.onExternalLink44(stack["name"], stack["start"]) } -func (c *current) onInlineImage71() (interface{}, error) { +func (c *current) onExternalLink70() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage71() (interface{}, error) { +func (p *parser) callonExternalLink70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage71() + return p.cur.onExternalLink70() } -func (c *current) onInlineImage83() (interface{}, error) { +func (c *current) onExternalLink82() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage83() (interface{}, error) { +func (p *parser) callonExternalLink82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage83() + return p.cur.onExternalLink82() } -func (c *current) onInlineImage85() (interface{}, error) { +func (c *current) onExternalLink84() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineImage85() (interface{}, error) { +func (p *parser) callonExternalLink84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage85() + return p.cur.onExternalLink84() } -func (c *current) onInlineImage78(start interface{}) (interface{}, error) { +func (c *current) onExternalLink77(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonInlineImage78() (interface{}, error) { +func (p *parser) callonExternalLink77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage78(stack["start"]) + return p.cur.onExternalLink77(stack["start"]) } -func (c *current) onInlineImage67(name, start interface{}) (interface{}, error) { +func (c *current) onExternalLink66(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonInlineImage67() (interface{}, error) { +func (p *parser) callonExternalLink66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage67(stack["name"], stack["start"]) + return p.cur.onExternalLink66(stack["name"], stack["start"]) } -func (c *current) onInlineImage93() (interface{}, error) { +func (c *current) onExternalLink92() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage93() (interface{}, error) { +func (p *parser) callonExternalLink92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage93() + return p.cur.onExternalLink92() } -func (c *current) onInlineImage89(name interface{}) (interface{}, error) { +func (c *current) onExternalLink88(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -85932,104 +90529,104 @@ func (c *current) onInlineImage89(name interface{}) (interface{}, error) { } -func (p *parser) callonInlineImage89() (interface{}, error) { +func (p *parser) callonExternalLink88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage89(stack["name"]) + return p.cur.onExternalLink88(stack["name"]) } -func (c *current) onInlineImage103() (interface{}, error) { +func (c *current) onExternalLink102() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage103() (interface{}, error) { +func (p *parser) callonExternalLink102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage103() + return p.cur.onExternalLink102() } -func (c *current) onInlineImage99(name interface{}) (interface{}, error) { +func (c *current) onExternalLink98(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineImage99() (interface{}, error) { +func (p *parser) callonExternalLink98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage99(stack["name"]) + return p.cur.onExternalLink98(stack["name"]) } -func (c *current) onInlineImage40(element interface{}) (interface{}, error) { +func (c *current) onExternalLink39(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonInlineImage40() (interface{}, error) { +func (p *parser) callonExternalLink39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage40(stack["element"]) + return p.cur.onExternalLink39(stack["element"]) } -func (c *current) onInlineImage111() (bool, error) { +func (c *current) onExternalLink110() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonInlineImage111() (bool, error) { +func (p *parser) callonExternalLink110() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage111() + return p.cur.onExternalLink110() } -func (c *current) onInlineImage120() (interface{}, error) { +func (c *current) onExternalLink119() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineImage120() (interface{}, error) { +func (p *parser) callonExternalLink119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage120() + return p.cur.onExternalLink119() } -func (c *current) onInlineImage124() (interface{}, error) { +func (c *current) onExternalLink123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage124() (interface{}, error) { +func (p *parser) callonExternalLink123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage124() + return p.cur.onExternalLink123() } -func (c *current) onInlineImage130() (interface{}, error) { +func (c *current) onExternalLink129() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage130() (interface{}, error) { +func (p *parser) callonExternalLink129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage130() + return p.cur.onExternalLink129() } -func (c *current) onInlineImage139() (interface{}, error) { +func (c *current) onExternalLink138() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage139() (interface{}, error) { +func (p *parser) callonExternalLink138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage139() + return p.cur.onExternalLink138() } -func (c *current) onInlineImage135(name interface{}) (interface{}, error) { +func (c *current) onExternalLink134(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -86037,2539 +90634,2695 @@ func (c *current) onInlineImage135(name interface{}) (interface{}, error) { } -func (p *parser) callonInlineImage135() (interface{}, error) { +func (p *parser) callonExternalLink134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage135(stack["name"]) + return p.cur.onExternalLink134(stack["name"]) } -func (c *current) onInlineImage149() (interface{}, error) { +func (c *current) onExternalLink148() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage149() (interface{}, error) { +func (p *parser) callonExternalLink148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage149() + return p.cur.onExternalLink148() } -func (c *current) onInlineImage145(name interface{}) (interface{}, error) { +func (c *current) onExternalLink144(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonInlineImage145() (interface{}, error) { +func (p *parser) callonExternalLink144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage145(stack["name"]) + return p.cur.onExternalLink144(stack["name"]) } -func (c *current) onInlineImage155() (interface{}, error) { +func (c *current) onExternalLink154() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage155() (interface{}, error) { +func (p *parser) callonExternalLink154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage155() + return p.cur.onExternalLink154() } -func (c *current) onInlineImage116(id, label interface{}) (interface{}, error) { +func (c *current) onExternalLink115(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonInlineImage116() (interface{}, error) { +func (p *parser) callonExternalLink115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage116(stack["id"], stack["label"]) + return p.cur.onExternalLink115(stack["id"], stack["label"]) } -func (c *current) onInlineImage162() (interface{}, error) { +func (c *current) onExternalLink161() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonInlineImage162() (interface{}, error) { +func (p *parser) callonExternalLink161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage162() + return p.cur.onExternalLink161() } -func (c *current) onInlineImage158(id interface{}) (interface{}, error) { +func (c *current) onExternalLink157(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonInlineImage158() (interface{}, error) { +func (p *parser) callonExternalLink157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage158(stack["id"]) + return p.cur.onExternalLink157(stack["id"]) } -func (c *current) onInlineImage114() (interface{}, error) { +func (c *current) onExternalLink113() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage114() (interface{}, error) { +func (p *parser) callonExternalLink113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage114() + return p.cur.onExternalLink113() } -func (c *current) onInlineImage166() (interface{}, error) { +func (c *current) onExternalLink165() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonInlineImage166() (interface{}, error) { +func (p *parser) callonExternalLink165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage166() + return p.cur.onExternalLink165() } -func (c *current) onInlineImage109(element interface{}) (interface{}, error) { +func (c *current) onExternalLink108(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonInlineImage109() (interface{}, error) { +func (p *parser) callonExternalLink108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage109(stack["element"]) + return p.cur.onExternalLink108(stack["element"]) } -func (c *current) onInlineImage168() (interface{}, error) { +func (c *current) onExternalLink167() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonInlineImage168() (interface{}, error) { +func (p *parser) callonExternalLink167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage168() + return p.cur.onExternalLink167() } -func (c *current) onInlineImage20(elements interface{}) (interface{}, error) { +func (c *current) onExternalLink19(elements interface{}) (interface{}, error) { return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonInlineImage20() (interface{}, error) { +func (p *parser) callonExternalLink19() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage20(stack["elements"]) + return p.cur.onExternalLink19(stack["elements"]) } -func (c *current) onInlineImage174() (interface{}, error) { +func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) + +} + +func (p *parser) callonExternalLink6() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink6(stack["scheme"], stack["path"]) +} + +func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonExternalLink2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink2(stack["url"], stack["attributes"]) +} + +func (c *current) onExternalLink195() (interface{}, error) { + // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) + return types.NewStringElement(string(c.text)) + +} + +func (p *parser) callonExternalLink195() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink195() +} + +func (c *current) onExternalLink199() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineImage174() (interface{}, error) { +func (p *parser) callonExternalLink199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage174() + return p.cur.onExternalLink199() } -func (c *current) onInlineImage170(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onExternalLink206() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonInlineImage170() (interface{}, error) { +func (p *parser) callonExternalLink206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage170(stack["ref"]) + return p.cur.onExternalLink206() } -func (c *current) onInlineImage7(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onExternalLink210() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonInlineImage7() (interface{}, error) { +func (p *parser) callonExternalLink210() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage7(stack["scheme"], stack["path"]) + return p.cur.onExternalLink210() } -func (c *current) onInlineImage1(path, attributes interface{}) (interface{}, error) { - return types.NewInlineImage(path.(*types.Location), attributes.(types.Attributes)) +func (c *current) onExternalLink217() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineImage1() (interface{}, error) { +func (p *parser) callonExternalLink217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineImage1(stack["path"], stack["attributes"]) + return p.cur.onExternalLink217() } -func (c *current) onInlineIcon5() (interface{}, error) { +func (c *current) onExternalLink229() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonInlineIcon5() (interface{}, error) { +func (p *parser) callonExternalLink229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon5() + return p.cur.onExternalLink229() } -func (c *current) onInlineIcon1(icon, attributes interface{}) (interface{}, error) { - return types.NewIcon(icon.(string), attributes) +func (c *current) onExternalLink231() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonInlineIcon1() (interface{}, error) { +func (p *parser) callonExternalLink231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineIcon1(stack["icon"], stack["attributes"]) + return p.cur.onExternalLink231() } -func (c *current) onInlineFootnote6() (interface{}, error) { +func (c *current) onExternalLink224(start interface{}) (interface{}, error) { + return start, nil + +} + +func (p *parser) callonExternalLink224() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink224(stack["start"]) +} + +func (c *current) onExternalLink213(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +} + +func (p *parser) callonExternalLink213() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink213(stack["name"], stack["start"]) +} + +func (c *current) onExternalLink239() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonInlineFootnote6() (interface{}, error) { +func (p *parser) callonExternalLink239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote6() + return p.cur.onExternalLink239() } -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) onExternalLink251() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonInlineFootnote1() (interface{}, error) { +func (p *parser) callonExternalLink251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onInlineFootnote1(stack["ref"], stack["elements"]) + return p.cur.onExternalLink251() } -func (c *current) onFootnoteElements1(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onExternalLink253() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonFootnoteElements1() (interface{}, error) { +func (p *parser) callonExternalLink253() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElements1(stack["elements"]) + return p.cur.onExternalLink253() } -func (c *current) onFootnoteElement8() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExternalLink246(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonFootnoteElement8() (interface{}, error) { +func (p *parser) callonExternalLink246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElement8() + return p.cur.onExternalLink246(stack["start"]) } -func (c *current) onFootnoteElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExternalLink235(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonExternalLink235() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink235(stack["name"], stack["start"]) +} + +func (c *current) onExternalLink261() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonFootnoteElement1() (interface{}, error) { +func (p *parser) callonExternalLink261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onFootnoteElement1(stack["element"]) + return p.cur.onExternalLink261() } -func (c *current) onPassthroughMacro7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExternalLink257(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonPassthroughMacro7() (interface{}, error) { +func (p *parser) callonExternalLink257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro7() + return p.cur.onExternalLink257(stack["name"]) } -func (c *current) onPassthroughMacro2(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, []interface{}{content}) +func (c *current) onExternalLink271() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonPassthroughMacro2() (interface{}, error) { +func (p *parser) callonExternalLink271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro2(stack["content"]) + return p.cur.onExternalLink271() } -func (c *current) onPassthroughMacro17() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExternalLink267(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonPassthroughMacro17() (interface{}, error) { +func (p *parser) callonExternalLink267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro17() + return p.cur.onExternalLink267(stack["name"]) } -func (c *current) onPassthroughMacro10(content interface{}) (interface{}, error) { - return types.NewInlinePassthrough(types.PassthroughMacro, content.([]interface{})) +func (c *current) onExternalLink208(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonPassthroughMacro10() (interface{}, error) { +func (p *parser) callonExternalLink208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onPassthroughMacro10(stack["content"]) + return p.cur.onExternalLink208(stack["element"]) } -func (c *current) onLink26() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onExternalLink279() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonLink26() (interface{}, error) { +func (p *parser) callonExternalLink279() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink26() + return p.cur.onExternalLink279() } -func (c *current) onLink30() (interface{}, error) { +func (c *current) onExternalLink288() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonLink30() (interface{}, error) { +func (p *parser) callonExternalLink288() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink30() + return p.cur.onExternalLink288() } -func (c *current) onLink37() (interface{}, error) { +func (c *current) onExternalLink292() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink37() (interface{}, error) { +func (p *parser) callonExternalLink292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink37() + return p.cur.onExternalLink292() } -func (c *current) onLink41() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onExternalLink298() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink41() (bool, error) { +func (p *parser) callonExternalLink298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink41() + return p.cur.onExternalLink298() } -func (c *current) onLink48() (interface{}, error) { +func (c *current) onExternalLink307() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink48() (interface{}, error) { +func (p *parser) callonExternalLink307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink48() + return p.cur.onExternalLink307() } -func (c *current) onLink60() (interface{}, error) { +func (c *current) onExternalLink303(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + +} + +func (p *parser) callonExternalLink303() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExternalLink303(stack["name"]) +} + +func (c *current) onExternalLink317() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonLink60() (interface{}, error) { +func (p *parser) callonExternalLink317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink60() + return p.cur.onExternalLink317() } -func (c *current) onLink62() (interface{}, error) { +func (c *current) onExternalLink313(name interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonLink62() (interface{}, error) { +func (p *parser) callonExternalLink313() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink62() + return p.cur.onExternalLink313(stack["name"]) } -func (c *current) onLink55(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExternalLink323() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink55() (interface{}, error) { +func (p *parser) callonExternalLink323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink55(stack["start"]) + return p.cur.onExternalLink323() } -func (c *current) onLink44(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExternalLink284(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonLink44() (interface{}, error) { +func (p *parser) callonExternalLink284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink44(stack["name"], stack["start"]) + return p.cur.onExternalLink284(stack["id"], stack["label"]) } -func (c *current) onLink70() (interface{}, error) { +func (c *current) onExternalLink330() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonLink70() (interface{}, error) { +func (p *parser) callonExternalLink330() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink70() + return p.cur.onExternalLink330() } -func (c *current) onLink82() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink326(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonLink82() (interface{}, error) { +func (p *parser) callonExternalLink326() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink82() + return p.cur.onExternalLink326(stack["id"]) } -func (c *current) onLink84() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExternalLink282() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink84() (interface{}, error) { +func (p *parser) callonExternalLink282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink84() + return p.cur.onExternalLink282() } -func (c *current) onLink77(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExternalLink334() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonLink77() (interface{}, error) { +func (p *parser) callonExternalLink334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink77(stack["start"]) + return p.cur.onExternalLink334() } -func (c *current) onLink66(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExternalLink277(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonLink66() (interface{}, error) { +func (p *parser) callonExternalLink277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink66(stack["name"], stack["start"]) + return p.cur.onExternalLink277(stack["element"]) } -func (c *current) onLink92() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink336() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonLink92() (interface{}, error) { +func (p *parser) callonExternalLink336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink92() + return p.cur.onExternalLink336() } -func (c *current) onLink88(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onExternalLink188(elements interface{}) (interface{}, error) { + return types.NewInlineElements(elements.([]interface{})) } -func (p *parser) callonLink88() (interface{}, error) { +func (p *parser) callonExternalLink188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink88(stack["name"]) + return p.cur.onExternalLink188(stack["elements"]) } -func (c *current) onLink102() (interface{}, error) { - return string(c.text), nil +func (c *current) onExternalLink175(scheme, path interface{}) (interface{}, error) { + return types.NewLocation(scheme, path.([]interface{})) } -func (p *parser) callonLink102() (interface{}, error) { +func (p *parser) callonExternalLink175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink102() + return p.cur.onExternalLink175(stack["scheme"], stack["path"]) } -func (c *current) onLink98(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onExternalLink172(url, attributes interface{}) (interface{}, error) { + return types.NewInlineLink(url.(*types.Location), attributes) } -func (p *parser) callonLink98() (interface{}, error) { +func (p *parser) callonExternalLink172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink98(stack["name"]) + return p.cur.onExternalLink172(stack["url"], stack["attributes"]) } -func (c *current) onLink39(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink39() (interface{}, error) { +func (p *parser) callonListElements11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink39(stack["element"]) + return p.cur.onListElements11() } -func (c *current) onLink110() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onListElements18() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonLink110() (bool, error) { +func (p *parser) callonListElements18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink110() + return p.cur.onListElements18() } -func (c *current) onLink119() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - 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) callonLink119() (interface{}, error) { +func (p *parser) callonListElements21() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink119() + return p.cur.onListElements21(stack["depth"]) } -func (c *current) onLink123() (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) callonLink123() (interface{}, error) { +func (p *parser) callonListElements15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink123() + return p.cur.onListElements15(stack["depth"]) } -func (c *current) onLink129() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onListElements22() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonLink129() (interface{}, error) { +func (p *parser) callonListElements22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink129() + return p.cur.onListElements22() } -func (c *current) onLink138() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements27() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonLink138() (interface{}, error) { +func (p *parser) callonListElements27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink138() + return p.cur.onListElements27() } -func (c *current) onLink134(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onListElements31() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonLink134() (interface{}, error) { +func (p *parser) callonListElements31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink134(stack["name"]) + return p.cur.onListElements31() } -func (c *current) onLink148() (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) callonLink148() (interface{}, error) { +func (p *parser) callonListElements35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink148() + return p.cur.onListElements35() } -func (c *current) onLink144(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onListElements40() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonLink144() (interface{}, error) { +func (p *parser) callonListElements40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink144(stack["name"]) + return p.cur.onListElements40() } -func (c *current) onLink154() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onListElements45(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonLink154() (interface{}, error) { +func (p *parser) callonListElements45() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink154() + return p.cur.onListElements45(stack["prefix"]) } -func (c *current) onLink115(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onListElements8(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonLink115() (interface{}, error) { +func (p *parser) callonListElements8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink115(stack["id"], stack["label"]) + return p.cur.onListElements8(stack["prefix"]) } -func (c *current) onLink161() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onListElements53() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonLink161() (interface{}, error) { +func (p *parser) callonListElements53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink161() + return p.cur.onListElements53() } -func (c *current) onLink157(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onListElements57() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonLink157() (interface{}, error) { +func (p *parser) callonListElements57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink157(stack["id"]) + return p.cur.onListElements57() } -func (c *current) onLink113() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElements49(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonLink113() (interface{}, error) { +func (p *parser) callonListElements49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink113() + return p.cur.onListElements49(stack["rawlines"]) } -func (c *current) onLink165() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonLink165() (interface{}, error) { +func (p *parser) callonListElements5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink165() + return p.cur.onListElements5(stack["prefix"], stack["content"]) } -func (c *current) onLink108(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements70() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonLink108() (interface{}, error) { +func (p *parser) callonListElements70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink108(stack["element"]) + return p.cur.onListElements70() } -func (c *current) onLink167() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElements73() (interface{}, error) { + // `-` or `*` to `*****` + return string(c.text), nil } -func (p *parser) callonLink167() (interface{}, error) { +func (p *parser) callonListElements73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink167() + return p.cur.onListElements73() } -func (c *current) onLink19(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +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) callonLink19() (interface{}, error) { +func (p *parser) callonListElements78() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink19(stack["elements"]) + return p.cur.onListElements78(stack["style"]) } -func (c *current) onLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onListElements79(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonLink6() (interface{}, error) { +func (p *parser) callonListElements79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink6(stack["scheme"], stack["path"]) + return p.cur.onListElements79(stack["style"]) } -func (c *current) onLink171(url interface{}) (bool, error) { - return url.(*types.Location).TrimAngleBracketSuffix() +func (c *current) onListElements67(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonLink171() (bool, error) { +func (p *parser) callonListElements67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink171(stack["url"]) + return p.cur.onListElements67(stack["style"]) } -func (c *current) onLink2(url interface{}) (interface{}, error) { - - return types.NewInlineLink(url.(*types.Location), nil) - +func (c *current) onListElements90() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonLink2() (interface{}, error) { +func (p *parser) callonListElements90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onLink2(stack["url"]) + return p.cur.onListElements90() } -func (c *current) onRelativeLink26() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) - +func (c *current) onListElements92() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonRelativeLink26() (interface{}, error) { +func (p *parser) callonListElements92() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink26() + return p.cur.onListElements92() } -func (c *current) onRelativeLink30() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements94() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonRelativeLink30() (interface{}, error) { +func (p *parser) callonListElements94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink30() + return p.cur.onListElements94() } -func (c *current) onRelativeLink37() (interface{}, error) { +func (c *current) onListElements96(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonRelativeLink37() (interface{}, error) { +func (p *parser) callonListElements96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink37() + return p.cur.onListElements96(stack["style"]) } -func (c *current) onRelativeLink41() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onListElements84(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonRelativeLink41() (bool, error) { +func (p *parser) callonListElements84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink41() + return p.cur.onListElements84(stack["style"]) } -func (c *current) onRelativeLink48() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements104() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonRelativeLink48() (interface{}, error) { +func (p *parser) callonListElements104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink48() + return p.cur.onListElements104() } -func (c *current) onRelativeLink60() (interface{}, error) { +func (c *current) onListElements108() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink60() (interface{}, error) { +func (p *parser) callonListElements108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink60() + return p.cur.onListElements108() } -func (c *current) onRelativeLink62() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElements100(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonRelativeLink62() (interface{}, error) { +func (p *parser) callonListElements100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink62() + return p.cur.onListElements100(stack["rawlines"]) } -func (c *current) onRelativeLink55(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onListElements64(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonRelativeLink55() (interface{}, error) { +func (p *parser) callonListElements64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink55(stack["start"]) + return p.cur.onListElements64(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onRelativeLink44(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onListElements122() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonRelativeLink44() (interface{}, error) { +func (p *parser) callonListElements122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink44(stack["name"], stack["start"]) + return p.cur.onListElements122() } -func (c *current) onRelativeLink70() (interface{}, error) { +func (c *current) onListElements126(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonRelativeLink70() (interface{}, error) { +func (p *parser) callonListElements126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink70() + return p.cur.onListElements126(stack["ref"]) } -func (c *current) onRelativeLink82() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements118(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonRelativeLink82() (interface{}, error) { +func (p *parser) callonListElements118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink82() + return p.cur.onListElements118(stack["ref"]) } -func (c *current) onRelativeLink84() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onListElements134() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonRelativeLink84() (interface{}, error) { +func (p *parser) callonListElements134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink84() + return p.cur.onListElements134() } -func (c *current) onRelativeLink77(start interface{}) (interface{}, error) { - return start, nil - +func (c *current) onListElements138() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink77() (interface{}, error) { +func (p *parser) callonListElements138() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink77(stack["start"]) + return p.cur.onListElements138() } -func (c *current) onRelativeLink66(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onListElements130(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) + } -func (p *parser) callonRelativeLink66() (interface{}, error) { +func (p *parser) callonListElements130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink66(stack["name"], stack["start"]) + return p.cur.onListElements130(stack["rawlines"]) } -func (c *current) onRelativeLink92() (interface{}, error) { - return string(c.text), nil +func (c *current) onListElements115(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonRelativeLink92() (interface{}, error) { +func (p *parser) callonListElements115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink92() + return p.cur.onListElements115(stack["ref"], stack["description"]) } -func (c *current) onRelativeLink88(name interface{}) (interface{}, error) { +func (c *current) onListElements155() (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) callonRelativeLink88() (interface{}, error) { +func (p *parser) callonListElements155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink88(stack["name"]) + return p.cur.onListElements155() } -func (c *current) onRelativeLink102() (interface{}, error) { - return string(c.text), nil +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) callonRelativeLink102() (interface{}, error) { +func (p *parser) callonListElements158() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink102() + return p.cur.onListElements158(stack["separator"]) } -func (c *current) onRelativeLink98(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onListElements152(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonRelativeLink98() (interface{}, error) { +func (p *parser) callonListElements152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink98(stack["name"]) + return p.cur.onListElements152(stack["separator"]) } -func (c *current) onRelativeLink39(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onListElements161() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink39() (interface{}, error) { +func (p *parser) callonListElements161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink39(stack["element"]) + return p.cur.onListElements161() } -func (c *current) onRelativeLink110() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onListElements148() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonRelativeLink110() (bool, error) { +func (p *parser) callonListElements148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink110() + return p.cur.onListElements148() } -func (c *current) onRelativeLink119() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onListElements173() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink119() (interface{}, error) { +func (p *parser) callonListElements173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink119() + return p.cur.onListElements173() } -func (c *current) onRelativeLink123() (interface{}, error) { - return string(c.text), nil +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) callonRelativeLink123() (interface{}, error) { +func (p *parser) callonListElements176() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink123() + return p.cur.onListElements176(stack["separator"]) } -func (c *current) onRelativeLink129() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onListElements170(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonRelativeLink129() (interface{}, error) { +func (p *parser) callonListElements170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink129() + return p.cur.onListElements170(stack["separator"]) } -func (c *current) onRelativeLink138() (interface{}, error) { +func (c *current) onListElements182() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonRelativeLink138() (interface{}, error) { +func (p *parser) callonListElements182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink138() + return p.cur.onListElements182() } -func (c *current) onRelativeLink134(name interface{}) (interface{}, error) { +func (c *current) onListElements185() (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) callonListElements185() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListElements185() +} + +func (c *current) onListElements199() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink134() (interface{}, error) { +func (p *parser) callonListElements199() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink134(stack["name"]) + return p.cur.onListElements199() } -func (c *current) onRelativeLink148() (interface{}, error) { +func (c *current) onListElements202() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink148() (interface{}, error) { +func (p *parser) callonListElements202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink148() + return p.cur.onListElements202() } -func (c *current) onRelativeLink144(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onListElements193() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonRelativeLink144() (interface{}, error) { +func (p *parser) callonListElements193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink144(stack["name"]) + return p.cur.onListElements193() } -func (c *current) onRelativeLink154() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onListElements179() (interface{}, error) { + return nil, nil } -func (p *parser) callonRelativeLink154() (interface{}, error) { +func (p *parser) callonListElements179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink154() + return p.cur.onListElements179() } -func (c *current) onRelativeLink115(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onListElements211() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonRelativeLink115() (interface{}, error) { +func (p *parser) callonListElements211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink115(stack["id"], stack["label"]) + return p.cur.onListElements211() } -func (c *current) onRelativeLink161() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onListElements215() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonRelativeLink161() (interface{}, error) { +func (p *parser) callonListElements215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink161() + return p.cur.onListElements215() } -func (c *current) onRelativeLink157(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) - +func (c *current) onListElements219() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink157() (interface{}, error) { +func (p *parser) callonListElements219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink157(stack["id"]) + return p.cur.onListElements219() } -func (c *current) onRelativeLink113() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onListElements209(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) } -func (p *parser) callonRelativeLink113() (interface{}, error) { +func (p *parser) callonListElements209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink113() + return p.cur.onListElements209(stack["content"]) } -func (c *current) onRelativeLink165() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onListElements145(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonRelativeLink165() (interface{}, error) { +func (p *parser) callonListElements145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink165() + return p.cur.onListElements145(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onRelativeLink108(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { + return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) } -func (p *parser) callonRelativeLink108() (interface{}, error) { +func (p *parser) callonListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink108(stack["element"]) + return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) } -func (c *current) onRelativeLink167() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { + return types.Flatten(elements.([]interface{})), nil } -func (p *parser) callonRelativeLink167() (interface{}, error) { +func (p *parser) callonExtraListElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink167() + return p.cur.onExtraListElements1(stack["elements"]) } -func (c *current) onRelativeLink19(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onExtraListElement17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink19() (interface{}, error) { +func (p *parser) callonExtraListElement17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink19(stack["elements"]) + return p.cur.onExtraListElement17() } -func (c *current) onRelativeLink173() (interface{}, error) { +func (c *current) onExtraListElement20() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonRelativeLink173() (interface{}, error) { +func (p *parser) callonExtraListElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink173() + return p.cur.onExtraListElement20() } -func (c *current) onRelativeLink169(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onExtraListElement11() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonRelativeLink169() (interface{}, error) { +func (p *parser) callonExtraListElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink169(stack["ref"]) + return p.cur.onExtraListElement11() } -func (c *current) onRelativeLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onExtraListElement35() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonRelativeLink6() (interface{}, error) { +func (p *parser) callonExtraListElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink6(stack["scheme"], stack["path"]) + return p.cur.onExtraListElement35() } -func (c *current) onRelativeLink2(url, attributes interface{}) (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onExtraListElement42() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonRelativeLink2() (interface{}, error) { +func (p *parser) callonExtraListElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink2(stack["url"], stack["attributes"]) + return p.cur.onExtraListElement42() } -func (c *current) onRelativeLink203() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement45(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonRelativeLink203() (interface{}, error) { +func (p *parser) callonExtraListElement45() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink203() + return p.cur.onExtraListElement45(stack["depth"]) } -func (c *current) onRelativeLink207() (interface{}, error) { - return string(c.text), nil +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 (p *parser) callonRelativeLink207() (interface{}, error) { +func (p *parser) callonExtraListElement39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink207() + return p.cur.onExtraListElement39(stack["depth"]) } -func (c *current) onRelativeLink214() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement46() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonRelativeLink214() (interface{}, error) { +func (p *parser) callonExtraListElement46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink214() + return p.cur.onExtraListElement46() } -func (c *current) onRelativeLink218() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onExtraListElement51() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonRelativeLink218() (bool, error) { +func (p *parser) callonExtraListElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink218() + return p.cur.onExtraListElement51() } -func (c *current) onRelativeLink225() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement55() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonRelativeLink225() (interface{}, error) { +func (p *parser) callonExtraListElement55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink225() + return p.cur.onExtraListElement55() } -func (c *current) onRelativeLink237() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement59() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonRelativeLink237() (interface{}, error) { +func (p *parser) callonExtraListElement59() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink237() + return p.cur.onExtraListElement59() } -func (c *current) onRelativeLink239() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement64() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonRelativeLink239() (interface{}, error) { +func (p *parser) callonExtraListElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink239() + return p.cur.onExtraListElement64() } -func (c *current) onRelativeLink232(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement69(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonRelativeLink232() (interface{}, error) { +func (p *parser) callonExtraListElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink232(stack["start"]) + return p.cur.onExtraListElement69(stack["prefix"]) } -func (c *current) onRelativeLink221(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExtraListElement32(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonRelativeLink221() (interface{}, error) { +func (p *parser) callonExtraListElement32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink221(stack["name"], stack["start"]) + return p.cur.onExtraListElement32(stack["prefix"]) } -func (c *current) onRelativeLink247() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement77() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonRelativeLink247() (interface{}, error) { +func (p *parser) callonExtraListElement77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink247() + return p.cur.onExtraListElement77() } -func (c *current) onRelativeLink259() (interface{}, error) { +func (c *current) onExtraListElement81() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonRelativeLink259() (interface{}, error) { +func (p *parser) callonExtraListElement81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink259() + return p.cur.onExtraListElement81() } -func (c *current) onRelativeLink261() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement73(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonRelativeLink261() (interface{}, error) { +func (p *parser) callonExtraListElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink261() + return p.cur.onExtraListElement73(stack["rawlines"]) } -func (c *current) onRelativeLink254(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement29(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonRelativeLink254() (interface{}, error) { +func (p *parser) callonExtraListElement29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink254(stack["start"]) + return p.cur.onExtraListElement29(stack["prefix"], stack["content"]) } -func (c *current) onRelativeLink243(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExtraListElement94() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonRelativeLink243() (interface{}, error) { +func (p *parser) callonExtraListElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink243(stack["name"], stack["start"]) + return p.cur.onExtraListElement94() } -func (c *current) onRelativeLink269() (interface{}, error) { +func (c *current) onExtraListElement97() (interface{}, error) { + // `-` or `*` to `*****` return string(c.text), nil } -func (p *parser) callonRelativeLink269() (interface{}, error) { +func (p *parser) callonExtraListElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink269() + return p.cur.onExtraListElement97() } -func (c *current) onRelativeLink265(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement102(style 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 only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonRelativeLink265() (interface{}, error) { +func (p *parser) callonExtraListElement102() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink265(stack["name"]) + return p.cur.onExtraListElement102(stack["style"]) } -func (c *current) onRelativeLink279() (interface{}, error) { +func (c *current) onExtraListElement103(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonRelativeLink279() (interface{}, error) { +func (p *parser) callonExtraListElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink279() + return p.cur.onExtraListElement103(stack["style"]) } -func (c *current) onRelativeLink275(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onExtraListElement91(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonRelativeLink275() (interface{}, error) { +func (p *parser) callonExtraListElement91() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink275(stack["name"]) + return p.cur.onExtraListElement91(stack["style"]) } -func (c *current) onRelativeLink216(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onExtraListElement114() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonRelativeLink216() (interface{}, error) { +func (p *parser) callonExtraListElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink216(stack["element"]) + return p.cur.onExtraListElement114() } -func (c *current) onRelativeLink287() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil - +func (c *current) onExtraListElement116() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonRelativeLink287() (bool, error) { +func (p *parser) callonExtraListElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink287() + return p.cur.onExtraListElement116() } -func (c *current) onRelativeLink296() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - +func (c *current) onExtraListElement118() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonRelativeLink296() (interface{}, error) { +func (p *parser) callonExtraListElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink296() + return p.cur.onExtraListElement118() } -func (c *current) onRelativeLink300() (interface{}, error) { +func (c *current) onExtraListElement120(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonRelativeLink300() (interface{}, error) { +func (p *parser) callonExtraListElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink300() + return p.cur.onExtraListElement120(stack["style"]) } -func (c *current) onRelativeLink306() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement108(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonRelativeLink306() (interface{}, error) { +func (p *parser) callonExtraListElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink306() + return p.cur.onExtraListElement108(stack["style"]) } -func (c *current) onRelativeLink315() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement128() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonRelativeLink315() (interface{}, error) { +func (p *parser) callonExtraListElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink315() + return p.cur.onExtraListElement128() } -func (c *current) onRelativeLink311(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onExtraListElement132() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink311() (interface{}, error) { +func (p *parser) callonExtraListElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink311(stack["name"]) + return p.cur.onExtraListElement132() } -func (c *current) onRelativeLink325() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement124(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonRelativeLink325() (interface{}, error) { +func (p *parser) callonExtraListElement124() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink325() + return p.cur.onExtraListElement124(stack["rawlines"]) } -func (c *current) onRelativeLink321(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onExtraListElement88(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonRelativeLink321() (interface{}, error) { +func (p *parser) callonExtraListElement88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink321(stack["name"]) + return p.cur.onExtraListElement88(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onRelativeLink331() (interface{}, error) { - - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement146() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonRelativeLink331() (interface{}, error) { +func (p *parser) callonExtraListElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink331() + return p.cur.onExtraListElement146() } -func (c *current) onRelativeLink292(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onExtraListElement150(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonRelativeLink292() (interface{}, error) { +func (p *parser) callonExtraListElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink292(stack["id"], stack["label"]) + return p.cur.onExtraListElement150(stack["ref"]) } -func (c *current) onRelativeLink338() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onExtraListElement142(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonRelativeLink338() (interface{}, error) { +func (p *parser) callonExtraListElement142() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink338() + return p.cur.onExtraListElement142(stack["ref"]) } -func (c *current) onRelativeLink334(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onExtraListElement158() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonRelativeLink334() (interface{}, error) { +func (p *parser) callonExtraListElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink334(stack["id"]) + return p.cur.onExtraListElement158() } -func (c *current) onRelativeLink290() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement162() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink290() (interface{}, error) { +func (p *parser) callonExtraListElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink290() + return p.cur.onExtraListElement162() } -func (c *current) onRelativeLink342() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onExtraListElement154(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonRelativeLink342() (interface{}, error) { +func (p *parser) callonExtraListElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink342() + return p.cur.onExtraListElement154(stack["rawlines"]) } -func (c *current) onRelativeLink285(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement139(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonRelativeLink285() (interface{}, error) { +func (p *parser) callonExtraListElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink285(stack["element"]) + return p.cur.onExtraListElement139(stack["ref"], stack["description"]) } -func (c *current) onRelativeLink344() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement179() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonRelativeLink344() (interface{}, error) { +func (p *parser) callonExtraListElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink344() + return p.cur.onExtraListElement179() } -func (c *current) onRelativeLink196(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +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 (p *parser) callonRelativeLink196() (interface{}, error) { +func (p *parser) callonExtraListElement182() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink196(stack["elements"]) + return p.cur.onExtraListElement182(stack["separator"]) } -func (c *current) onRelativeLink350() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement176(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonRelativeLink350() (interface{}, error) { +func (p *parser) callonExtraListElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink350() + return p.cur.onExtraListElement176(stack["separator"]) } -func (c *current) onRelativeLink346(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onExtraListElement185() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonRelativeLink346() (interface{}, error) { +func (p *parser) callonExtraListElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink346(stack["ref"]) + return p.cur.onExtraListElement185() } -func (c *current) onRelativeLink183(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onExtraListElement172() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonRelativeLink183() (interface{}, error) { +func (p *parser) callonExtraListElement172() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink183(stack["scheme"], stack["path"]) + return p.cur.onExtraListElement172() } -func (c *current) onRelativeLink179(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes.(types.Attributes)) +func (c *current) onExtraListElement197() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonRelativeLink179() (interface{}, error) { +func (p *parser) callonExtraListElement197() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onRelativeLink179(stack["url"], stack["attributes"]) + return p.cur.onExtraListElement197() } -func (c *current) onExternalLink26() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement200(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) callonExternalLink26() (interface{}, error) { +func (p *parser) callonExtraListElement200() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink26() + return p.cur.onExtraListElement200(stack["separator"]) } -func (c *current) onExternalLink30() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement194(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonExternalLink30() (interface{}, error) { +func (p *parser) callonExtraListElement194() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink30() + return p.cur.onExtraListElement194(stack["separator"]) } -func (c *current) onExternalLink37() (interface{}, error) { +func (c *current) onExtraListElement206() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink37() (interface{}, error) { +func (p *parser) callonExtraListElement206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink37() + return p.cur.onExtraListElement206() } -func (c *current) onExternalLink41() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil - +func (c *current) onExtraListElement209() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink41() (bool, error) { +func (p *parser) callonExtraListElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink41() + return p.cur.onExtraListElement209() } -func (c *current) onExternalLink48() (interface{}, error) { +func (c *current) onExtraListElement223() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink48() (interface{}, error) { +func (p *parser) callonExtraListElement223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink48() + return p.cur.onExtraListElement223() } -func (c *current) onExternalLink60() (interface{}, error) { +func (c *current) onExtraListElement226() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink60() (interface{}, error) { +func (p *parser) callonExtraListElement226() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink60() + return p.cur.onExtraListElement226() } -func (c *current) onExternalLink62() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement217() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExternalLink62() (interface{}, error) { +func (p *parser) callonExtraListElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink62() + return p.cur.onExtraListElement217() } -func (c *current) onExternalLink55(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement203() (interface{}, error) { + return nil, nil } -func (p *parser) callonExternalLink55() (interface{}, error) { +func (p *parser) callonExtraListElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink55(stack["start"]) + return p.cur.onExtraListElement203() } -func (c *current) onExternalLink44(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExtraListElement235() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonExternalLink44() (interface{}, error) { +func (p *parser) callonExtraListElement235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink44(stack["name"], stack["start"]) + return p.cur.onExtraListElement235() } -func (c *current) onExternalLink70() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement239() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExternalLink70() (interface{}, error) { +func (p *parser) callonExtraListElement239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink70() + return p.cur.onExtraListElement239() } -func (c *current) onExternalLink82() (interface{}, error) { +func (c *current) onExtraListElement243() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink82() (interface{}, error) { +func (p *parser) callonExtraListElement243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink82() + return p.cur.onExtraListElement243() } -func (c *current) onExternalLink84() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement233(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) } -func (p *parser) callonExternalLink84() (interface{}, error) { +func (p *parser) callonExtraListElement233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink84() + return p.cur.onExtraListElement233(stack["content"]) } -func (c *current) onExternalLink77(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement169(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonExternalLink77() (interface{}, error) { +func (p *parser) callonExtraListElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink77(stack["start"]) + return p.cur.onExtraListElement169(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onExternalLink66(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { + + return element, nil + } -func (p *parser) callonExternalLink66() (interface{}, error) { +func (p *parser) callonExtraListElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink66(stack["name"], stack["start"]) + return p.cur.onExtraListElement8(stack["element"]) } -func (c *current) onExternalLink92() (interface{}, error) { +func (c *current) onExtraListElement263() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink92() (interface{}, error) { +func (p *parser) callonExtraListElement263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink92() + return p.cur.onExtraListElement263() } -func (c *current) onExternalLink88(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement270() (interface{}, error) { - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonExternalLink88() (interface{}, error) { +func (p *parser) callonExtraListElement270() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink88(stack["name"]) + return p.cur.onExtraListElement270() } -func (c *current) onExternalLink102() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement273(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil } -func (p *parser) callonExternalLink102() (interface{}, error) { +func (p *parser) callonExtraListElement273() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink102() + return p.cur.onExtraListElement273(stack["depth"]) } -func (c *current) onExternalLink98(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +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 (p *parser) callonExternalLink98() (interface{}, error) { +func (p *parser) callonExtraListElement267() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink98(stack["name"]) + return p.cur.onExtraListElement267(stack["depth"]) } -func (c *current) onExternalLink39(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement274() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonExternalLink39() (interface{}, error) { +func (p *parser) callonExtraListElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink39(stack["element"]) + return p.cur.onExtraListElement274() } -func (c *current) onExternalLink110() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onExtraListElement279() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonExternalLink110() (bool, error) { +func (p *parser) callonExtraListElement279() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink110() + return p.cur.onExtraListElement279() } -func (c *current) onExternalLink119() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onExtraListElement283() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonExternalLink119() (interface{}, error) { +func (p *parser) callonExtraListElement283() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink119() + return p.cur.onExtraListElement283() } -func (c *current) onExternalLink123() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement287() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExternalLink123() (interface{}, error) { +func (p *parser) callonExtraListElement287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink123() + return p.cur.onExtraListElement287() } -func (c *current) onExternalLink129() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement292() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonExternalLink129() (interface{}, error) { +func (p *parser) callonExtraListElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink129() + return p.cur.onExtraListElement292() } -func (c *current) onExternalLink138() (interface{}, error) { +func (c *current) onExtraListElement297(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExternalLink138() (interface{}, error) { +func (p *parser) callonExtraListElement297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink138() + return p.cur.onExtraListElement297(stack["prefix"]) } -func (c *current) onExternalLink134(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement260(prefix interface{}) (interface{}, error) { + return prefix, nil +} - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (p *parser) callonExtraListElement260() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement260(stack["prefix"]) +} + +func (c *current) onExtraListElement305() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExternalLink134() (interface{}, error) { +func (p *parser) callonExtraListElement305() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink134(stack["name"]) + return p.cur.onExtraListElement305() } -func (c *current) onExternalLink148() (interface{}, error) { +func (c *current) onExtraListElement309() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink148() (interface{}, error) { +func (p *parser) callonExtraListElement309() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink148() + return p.cur.onExtraListElement309() } -func (c *current) onExternalLink144(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onExtraListElement301(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonExternalLink144() (interface{}, error) { +func (p *parser) callonExtraListElement301() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink144(stack["name"]) + return p.cur.onExtraListElement301(stack["rawlines"]) } -func (c *current) onExternalLink154() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement257(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonExternalLink154() (interface{}, error) { +func (p *parser) callonExtraListElement257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink154() + return p.cur.onExtraListElement257(stack["prefix"], stack["content"]) } -func (c *current) onExternalLink115(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onExtraListElement322() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink115() (interface{}, error) { +func (p *parser) callonExtraListElement322() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink115(stack["id"], stack["label"]) + return p.cur.onExtraListElement322() } -func (c *current) onExternalLink161() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onExtraListElement325() (interface{}, error) { + // `-` or `*` to `*****` return string(c.text), nil } -func (p *parser) callonExternalLink161() (interface{}, error) { +func (p *parser) callonExtraListElement325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink161() + return p.cur.onExtraListElement325() } -func (c *current) onExternalLink157(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onExtraListElement330(style interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonExternalLink157() (interface{}, error) { +func (p *parser) callonExtraListElement330() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink157(stack["id"]) + return p.cur.onExtraListElement330(stack["style"]) } -func (c *current) onExternalLink113() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement331(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExternalLink113() (interface{}, error) { +func (p *parser) callonExtraListElement331() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink113() + return p.cur.onExtraListElement331(stack["style"]) } -func (c *current) onExternalLink165() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onExtraListElement319(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonExternalLink165() (interface{}, error) { +func (p *parser) callonExtraListElement319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink165() + return p.cur.onExtraListElement319(stack["style"]) } -func (c *current) onExternalLink108(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onExtraListElement342() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonExternalLink108() (interface{}, error) { +func (p *parser) callonExtraListElement342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink108(stack["element"]) + return p.cur.onExtraListElement342() } -func (c *current) onExternalLink167() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement344() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExternalLink167() (interface{}, error) { +func (p *parser) callonExtraListElement344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink167() + return p.cur.onExtraListElement344() } -func (c *current) onExternalLink19(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) - +func (c *current) onExtraListElement346() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExternalLink19() (interface{}, error) { +func (p *parser) callonExtraListElement346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink19(stack["elements"]) + return p.cur.onExtraListElement346() } -func (c *current) onExternalLink6(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onExtraListElement348(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExternalLink6() (interface{}, error) { +func (p *parser) callonExtraListElement348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink6(stack["scheme"], stack["path"]) + return p.cur.onExtraListElement348(stack["style"]) } -func (c *current) onExternalLink2(url, attributes interface{}) (interface{}, error) { - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onExtraListElement336(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonExternalLink2() (interface{}, error) { +func (p *parser) callonExtraListElement336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink2(stack["url"], stack["attributes"]) + return p.cur.onExtraListElement336(stack["style"]) } -func (c *current) onExternalLink195() (interface{}, error) { - // not supported for now: EOL, space, "{", "[", "]". Also, punctuation chars and `<` and `>` special chars are treated separately below (but `&` is allowed) - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement356() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExternalLink195() (interface{}, error) { +func (p *parser) callonExtraListElement356() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink195() + return p.cur.onExtraListElement356() } -func (c *current) onExternalLink199() (interface{}, error) { +func (c *current) onExtraListElement360() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExternalLink199() (interface{}, error) { +func (p *parser) callonExtraListElement360() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink199() + return p.cur.onExtraListElement360() } -func (c *current) onExternalLink206() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement352(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonExternalLink206() (interface{}, error) { +func (p *parser) callonExtraListElement352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink206() + return p.cur.onExtraListElement352(stack["rawlines"]) } -func (c *current) onExternalLink210() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onExtraListElement316(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) } -func (p *parser) callonExternalLink210() (bool, error) { +func (p *parser) callonExtraListElement316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink210() + return p.cur.onExtraListElement316(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onExternalLink217() (interface{}, error) { - return string(c.text), nil - +func (c *current) onExtraListElement374() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExternalLink217() (interface{}, error) { +func (p *parser) callonExtraListElement374() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink217() + return p.cur.onExtraListElement374() } -func (c *current) onExternalLink229() (interface{}, error) { +func (c *current) onExtraListElement378(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExternalLink229() (interface{}, error) { +func (p *parser) callonExtraListElement378() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink229() + return p.cur.onExtraListElement378(stack["ref"]) } -func (c *current) onExternalLink231() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onExtraListElement370(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonExternalLink231() (interface{}, error) { +func (p *parser) callonExtraListElement370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink231() + return p.cur.onExtraListElement370(stack["ref"]) } -func (c *current) onExternalLink224(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onExtraListElement386() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExternalLink224() (interface{}, error) { +func (p *parser) callonExtraListElement386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink224(stack["start"]) + return p.cur.onExtraListElement386() } -func (c *current) onExternalLink213(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onExtraListElement390() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink213() (interface{}, error) { +func (p *parser) callonExtraListElement390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink213(stack["name"], stack["start"]) + return p.cur.onExtraListElement390() } -func (c *current) onExternalLink239() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement382(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonExternalLink239() (interface{}, error) { +func (p *parser) callonExtraListElement382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink239() + return p.cur.onExtraListElement382(stack["rawlines"]) } -func (c *current) onExternalLink251() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement367(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonExternalLink251() (interface{}, error) { +func (p *parser) callonExtraListElement367() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink251() + return p.cur.onExtraListElement367(stack["ref"], stack["description"]) } -func (c *current) onExternalLink253() (interface{}, error) { +func (c *current) onExtraListElement407() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return string(c.text), nil } -func (p *parser) callonExternalLink253() (interface{}, error) { +func (p *parser) callonExtraListElement407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink253() + return p.cur.onExtraListElement407() } -func (c *current) onExternalLink246(start interface{}) (interface{}, error) { - return start, nil +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 (p *parser) callonExternalLink246() (interface{}, error) { +func (p *parser) callonExtraListElement410() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink246(stack["start"]) + return p.cur.onExtraListElement410(stack["separator"]) } -func (c *current) onExternalLink235(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onExtraListElement404(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonExternalLink235() (interface{}, error) { +func (p *parser) callonExtraListElement404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink235(stack["name"], stack["start"]) + return p.cur.onExtraListElement404(stack["separator"]) } -func (c *current) onExternalLink261() (interface{}, error) { +func (c *current) onExtraListElement413() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink261() (interface{}, error) { +func (p *parser) callonExtraListElement413() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink261() + return p.cur.onExtraListElement413() } -func (c *current) onExternalLink257(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onExtraListElement400() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonExternalLink257() (interface{}, error) { +func (p *parser) callonExtraListElement400() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink257(stack["name"]) + return p.cur.onExtraListElement400() } -func (c *current) onExternalLink271() (interface{}, error) { +func (c *current) onExtraListElement425() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink271() (interface{}, error) { +func (p *parser) callonExtraListElement425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink271() + return p.cur.onExtraListElement425() } -func (c *current) onExternalLink267(name interface{}) (interface{}, error) { +func (c *current) onExtraListElement428(separator interface{}) (bool, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonExternalLink267() (interface{}, error) { +func (p *parser) callonExtraListElement428() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink267(stack["name"]) + return p.cur.onExtraListElement428(stack["separator"]) } -func (c *current) onExternalLink208(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement422(separator interface{}) (interface{}, error) { + return separator, nil + +} + +func (p *parser) callonExtraListElement422() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onExtraListElement422(stack["separator"]) +} + +func (c *current) onExtraListElement434() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink208() (interface{}, error) { +func (p *parser) callonExtraListElement434() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink208(stack["element"]) + return p.cur.onExtraListElement434() } -func (c *current) onExternalLink279() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil - +func (c *current) onExtraListElement437() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink279() (bool, error) { +func (p *parser) callonExtraListElement437() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink279() + return p.cur.onExtraListElement437() } -func (c *current) onExternalLink288() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onExtraListElement451() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExternalLink288() (interface{}, error) { +func (p *parser) callonExtraListElement451() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink288() + return p.cur.onExtraListElement451() } -func (c *current) onExternalLink292() (interface{}, error) { +func (c *current) onExtraListElement454() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExternalLink292() (interface{}, error) { +func (p *parser) callonExtraListElement454() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink292() + return p.cur.onExtraListElement454() } -func (c *current) onExternalLink298() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement445() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExternalLink298() (interface{}, error) { +func (p *parser) callonExtraListElement445() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink298() + return p.cur.onExtraListElement445() } -func (c *current) onExternalLink307() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement431() (interface{}, error) { + return nil, nil } -func (p *parser) callonExternalLink307() (interface{}, error) { +func (p *parser) callonExtraListElement431() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink307() + return p.cur.onExtraListElement431() } -func (c *current) onExternalLink303(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onExtraListElement463() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExternalLink303() (interface{}, error) { +func (p *parser) callonExtraListElement463() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink303(stack["name"]) + return p.cur.onExtraListElement463() } -func (c *current) onExternalLink317() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement467() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExternalLink317() (interface{}, error) { +func (p *parser) callonExtraListElement467() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink317() + return p.cur.onExtraListElement467() } -func (c *current) onExternalLink313(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) - +func (c *current) onExtraListElement471() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink313() (interface{}, error) { +func (p *parser) callonExtraListElement471() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink313(stack["name"]) + return p.cur.onExtraListElement471() } -func (c *current) onExternalLink323() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onExtraListElement461(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) } -func (p *parser) callonExternalLink323() (interface{}, error) { +func (p *parser) callonExtraListElement461() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink323() + return p.cur.onExtraListElement461(stack["content"]) } -func (c *current) onExternalLink284(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onExtraListElement397(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonExternalLink284() (interface{}, error) { +func (p *parser) callonExtraListElement397() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink284(stack["id"], stack["label"]) + return p.cur.onExtraListElement397(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onExternalLink330() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onExtraListElement250(attributes, element interface{}) (interface{}, error) { + + return append(attributes.([]interface{}), element), nil } -func (p *parser) callonExternalLink330() (interface{}, error) { +func (p *parser) callonExtraListElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink330() + return p.cur.onExtraListElement250(stack["attributes"], stack["element"]) } -func (c *current) onExternalLink326(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onExtraListElement485() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExternalLink326() (interface{}, error) { +func (p *parser) callonExtraListElement485() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink326(stack["id"]) + return p.cur.onExtraListElement485() } -func (c *current) onExternalLink282() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement489() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink282() (interface{}, error) { +func (p *parser) callonExtraListElement489() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink282() + return p.cur.onExtraListElement489() } -func (c *current) onExternalLink334() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onExtraListElement479(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonExternalLink334() (interface{}, error) { +func (p *parser) callonExtraListElement479() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink334() + return p.cur.onExtraListElement479(stack["content"]) } -func (c *current) onExternalLink277(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onExtraListElement505() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink277() (interface{}, error) { +func (p *parser) callonExtraListElement505() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink277(stack["element"]) + return p.cur.onExtraListElement505() } -func (c *current) onExternalLink336() (interface{}, error) { - return types.NewStringElement(string(c.text)) - +func (c *current) onExtraListElement508() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink336() (interface{}, error) { +func (p *parser) callonExtraListElement508() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink336() + return p.cur.onExtraListElement508() } -func (c *current) onExternalLink188(elements interface{}) (interface{}, error) { - return types.NewInlineElements(elements.([]interface{})) +func (c *current) onExtraListElement499() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExternalLink188() (interface{}, error) { +func (p *parser) callonExtraListElement499() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink188(stack["elements"]) + return p.cur.onExtraListElement499() } -func (c *current) onExternalLink175(scheme, path interface{}) (interface{}, error) { - return types.NewLocation(scheme, path.([]interface{})) +func (c *current) onExtraListElement519() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExternalLink175() (interface{}, error) { +func (p *parser) callonExtraListElement519() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink175(stack["scheme"], stack["path"]) + return p.cur.onExtraListElement519() } -func (c *current) onExternalLink172(url, attributes interface{}) (interface{}, error) { - return types.NewInlineLink(url.(*types.Location), attributes) - +func (c *current) onExtraListElement521() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExternalLink172() (interface{}, error) { +func (p *parser) callonExtraListElement521() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExternalLink172(stack["url"], stack["attributes"]) + return p.cur.onExtraListElement521() } -func (c *current) onListElements11() (interface{}, error) { +func (c *current) onExtraListElement530() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements11() (interface{}, error) { +func (p *parser) callonExtraListElement530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements11() + return p.cur.onExtraListElement530() } -func (c *current) onListElements18() (interface{}, error) { +func (c *current) onExtraListElement537() (interface{}, error) { // `.` is 1, etc. return (len(c.text)), nil } -func (p *parser) callonListElements18() (interface{}, error) { +func (p *parser) callonExtraListElement537() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements18() + return p.cur.onExtraListElement537() } -func (c *current) onListElements21(depth interface{}) (bool, error) { +func (c *current) onExtraListElement540(depth interface{}) (bool, error) { // use a predicate to make sure that only `.` to `.....` are allowed return depth.(int) <= 5, nil } -func (p *parser) callonListElements21() (bool, error) { +func (p *parser) callonExtraListElement540() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements21(stack["depth"]) + return p.cur.onExtraListElement540(stack["depth"]) } -func (c *current) onListElements15(depth interface{}) (interface{}, error) { +func (c *current) onExtraListElement534(depth interface{}) (interface{}, error) { switch depth.(int) { case 1: return types.NewOrderedListElementPrefix(types.Arabic) @@ -88585,8971 +93338,8880 @@ func (c *current) onListElements15(depth interface{}) (interface{}, error) { } -func (p *parser) callonListElements15() (interface{}, error) { +func (p *parser) callonExtraListElement534() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements15(stack["depth"]) + return p.cur.onExtraListElement534(stack["depth"]) } -func (c *current) onListElements22() (interface{}, error) { +func (c *current) onExtraListElement541() (interface{}, error) { // numbering style: "1.", etc. return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListElements22() (interface{}, error) { +func (p *parser) callonExtraListElement541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements22() + return p.cur.onExtraListElement541() } -func (c *current) onListElements27() (interface{}, error) { +func (c *current) onExtraListElement546() (interface{}, error) { // numbering style: "a.", etc. return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListElements27() (interface{}, error) { +func (p *parser) callonExtraListElement546() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements27() + return p.cur.onExtraListElement546() } -func (c *current) onListElements31() (interface{}, error) { +func (c *current) onExtraListElement550() (interface{}, error) { // numbering style: "A.", etc. return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListElements31() (interface{}, error) { +func (p *parser) callonExtraListElement550() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements31() + return p.cur.onExtraListElement550() } -func (c *current) onListElements35() (interface{}, error) { +func (c *current) onExtraListElement554() (interface{}, error) { // numbering style: "i)", etc. return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonListElements35() (interface{}, error) { +func (p *parser) callonExtraListElement554() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements35() + return p.cur.onExtraListElement554() } -func (c *current) onListElements40() (interface{}, error) { +func (c *current) onExtraListElement559() (interface{}, error) { // numbering style: "I)", etc. return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListElements40() (interface{}, error) { +func (p *parser) callonExtraListElement559() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements40() + return p.cur.onExtraListElement559() } -func (c *current) onListElements45(prefix interface{}) (interface{}, error) { +func (c *current) onExtraListElement564(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElements45() (interface{}, error) { +func (p *parser) callonExtraListElement564() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements45(stack["prefix"]) + return p.cur.onExtraListElement564(stack["prefix"]) } -func (c *current) onListElements8(prefix interface{}) (interface{}, error) { +func (c *current) onExtraListElement527(prefix interface{}) (interface{}, error) { return prefix, nil } -func (p *parser) callonListElements8() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements8(stack["prefix"]) -} - -func (c *current) onListElements53() (interface{}, error) { - return types.NewRawLine(string(c.text)) - -} - -func (p *parser) callonListElements53() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements53() -} - -func (c *current) onListElements57() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonListElements57() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements57() -} - -func (c *current) onListElements49(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) - -} - -func (p *parser) callonListElements49() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements49(stack["rawlines"]) -} - -func (c *current) onListElements5(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) - -} - -func (p *parser) callonListElements5() (interface{}, error) { +func (p *parser) callonExtraListElement527() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements5(stack["prefix"], stack["content"]) + return p.cur.onExtraListElement527(stack["prefix"]) } -func (c *current) onListElements70() (interface{}, error) { +func (c *current) onExtraListElement571() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListElements70() (interface{}, error) { +func (p *parser) callonExtraListElement571() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements70() + return p.cur.onExtraListElement571() } -func (c *current) onListElements73() (interface{}, error) { +func (c *current) onExtraListElement574() (interface{}, error) { // `-` or `*` to `*****` return string(c.text), nil } -func (p *parser) callonListElements73() (interface{}, error) { +func (p *parser) callonExtraListElement574() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements73() + return p.cur.onExtraListElement574() } -func (c *current) onListElements78(style interface{}) (bool, error) { +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 (p *parser) callonListElements78() (bool, error) { +func (p *parser) callonExtraListElement579() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements78(stack["style"]) + return p.cur.onExtraListElement579(stack["style"]) } -func (c *current) onListElements79(style interface{}) (interface{}, error) { +func (c *current) onExtraListElement580(style interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElements79() (interface{}, error) { +func (p *parser) callonExtraListElement580() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements79(stack["style"]) + return p.cur.onExtraListElement580(stack["style"]) } -func (c *current) onListElements67(style interface{}) (interface{}, error) { +func (c *current) onExtraListElement568(style interface{}) (interface{}, error) { return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonListElements67() (interface{}, error) { +func (p *parser) callonExtraListElement568() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements67(stack["style"]) + return p.cur.onExtraListElement568(stack["style"]) } -func (c *current) onListElements90() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onExtraListElement588() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListElements90() (interface{}, error) { +func (p *parser) callonExtraListElement588() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements90() + return p.cur.onExtraListElement588() } -func (c *current) onListElements92() (interface{}, error) { - return types.Checked, nil +func (c *current) onExtraListElement592(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil + } -func (p *parser) callonListElements92() (interface{}, error) { +func (p *parser) callonExtraListElement592() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements92() + return p.cur.onExtraListElement592(stack["ref"]) } -func (c *current) onListElements94() (interface{}, error) { - return types.Checked, nil +func (c *current) onExtraListElement584(ref interface{}) (interface{}, error) { + return ref, nil + } -func (p *parser) callonListElements94() (interface{}, error) { +func (p *parser) callonExtraListElement584() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements94() + return p.cur.onExtraListElement584(stack["ref"]) } -func (c *current) onListElements96(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement604() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements96() (interface{}, error) { +func (p *parser) callonExtraListElement604() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements96(stack["style"]) + return p.cur.onExtraListElement604() } -func (c *current) onListElements84(style interface{}) (interface{}, error) { - return style, nil +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 (p *parser) callonListElements84() (interface{}, error) { +func (p *parser) callonExtraListElement607() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements84(stack["style"]) + return p.cur.onExtraListElement607(stack["separator"]) } -func (c *current) onListElements104() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement601(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElements104() (interface{}, error) { +func (p *parser) callonExtraListElement601() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements104() + return p.cur.onExtraListElement601(stack["separator"]) } -func (c *current) onListElements108() (interface{}, error) { +func (c *current) onExtraListElement610() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements108() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements108() -} - -func (c *current) onListElements100(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) - -} - -func (p *parser) callonListElements100() (interface{}, error) { +func (p *parser) callonExtraListElement610() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements100(stack["rawlines"]) + return p.cur.onExtraListElement610() } -func (c *current) onListElements64(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onExtraListElement597() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListElements64() (interface{}, error) { +func (p *parser) callonExtraListElement597() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements64(stack["prefix"], stack["checkstyle"], stack["content"]) -} - -func (c *current) onListElements122() (interface{}, error) { - return strconv.Atoi(string(c.text)) + return p.cur.onExtraListElement597() } -func (p *parser) callonListElements122() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements122() -} +func (c *current) onExtraListElement621() (interface{}, error) { -func (c *current) onListElements126(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListElements126() (interface{}, error) { +func (p *parser) callonExtraListElement621() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements126(stack["ref"]) + return p.cur.onExtraListElement621() } -func (c *current) onListElements118(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onExtraListElement624(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) callonListElements118() (interface{}, error) { +func (p *parser) callonExtraListElement624() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements118(stack["ref"]) + return p.cur.onExtraListElement624(stack["separator"]) } -func (c *current) onListElements134() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement618(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListElements134() (interface{}, error) { +func (p *parser) callonExtraListElement618() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements134() + return p.cur.onExtraListElement618(stack["separator"]) } -func (c *current) onListElements138() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement635() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil -} - -func (p *parser) callonListElements138() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements138() -} - -func (c *current) onListElements130(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonListElements130() (interface{}, error) { +func (p *parser) callonExtraListElement635() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements130(stack["rawlines"]) + return p.cur.onExtraListElement635() } -func (c *current) onListElements115(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onExtraListElement641() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements115() (interface{}, error) { +func (p *parser) callonExtraListElement641() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements115(stack["ref"], stack["description"]) + return p.cur.onExtraListElement641() } -func (c *current) onListElements155() (interface{}, error) { - +func (c *current) onExtraListElement644() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElements155() (interface{}, error) { +func (p *parser) callonExtraListElement644() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements155() + return p.cur.onExtraListElement644() } -func (c *current) onListElements158(separator interface{}) (bool, error) { +func (c *current) onExtraListElement632(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElements158() (bool, error) { +func (p *parser) callonExtraListElement632() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements158(stack["separator"]) + return p.cur.onExtraListElement632(stack["delimiter"]) } -func (c *current) onListElements152(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement654() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonListElements152() (interface{}, error) { +func (p *parser) callonExtraListElement654() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements152(stack["separator"]) + return p.cur.onExtraListElement654() } -func (c *current) onListElements161() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement660() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements161() (interface{}, error) { +func (p *parser) callonExtraListElement660() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements161() + return p.cur.onExtraListElement660() } -func (c *current) onListElements148() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) - +func (c *current) onExtraListElement663() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements148() (interface{}, error) { +func (p *parser) callonExtraListElement663() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements148() + return p.cur.onExtraListElement663() } -func (c *current) onListElements173() (interface{}, error) { +func (c *current) onExtraListElement651(delimiter interface{}) (interface{}, error) { - return string(c.text), nil + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElements173() (interface{}, error) { +func (p *parser) callonExtraListElement651() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListElements173() -} - -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 + _ = stack + return p.cur.onExtraListElement651(stack["delimiter"]) +} +func (c *current) onExtraListElement674() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonListElements176() (bool, error) { +func (p *parser) callonExtraListElement674() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements176(stack["separator"]) + return p.cur.onExtraListElement674() } -func (c *current) onListElements170(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onExtraListElement678() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements170() (interface{}, error) { +func (p *parser) callonExtraListElement678() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements170(stack["separator"]) + return p.cur.onExtraListElement678() } -func (c *current) onListElements182() (interface{}, error) { +func (c *current) onExtraListElement681() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListElements182() (interface{}, error) { +func (p *parser) callonExtraListElement681() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements182() + return p.cur.onExtraListElement681() } -func (c *current) onListElements185() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onExtraListElement670(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonListElements185() (interface{}, error) { +func (p *parser) callonExtraListElement670() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements185() + return p.cur.onExtraListElement670(stack["language"]) } -func (c *current) onListElements199() (interface{}, error) { +func (c *current) onExtraListElement691() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonListElements199() (interface{}, error) { +func (p *parser) callonExtraListElement691() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements199() + return p.cur.onExtraListElement691() } -func (c *current) onListElements202() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement697() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListElements202() (interface{}, error) { +func (p *parser) callonExtraListElement697() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements202() + return p.cur.onExtraListElement697() } -func (c *current) onListElements193() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onExtraListElement700() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListElements193() (interface{}, error) { +func (p *parser) callonExtraListElement700() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements193() + return p.cur.onExtraListElement700() } -func (c *current) onListElements179() (interface{}, error) { - return nil, nil +func (c *current) onExtraListElement688(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElements179() (interface{}, error) { +func (p *parser) callonExtraListElement688() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements179() + return p.cur.onExtraListElement688(stack["delimiter"]) } -func (c *current) onListElements211() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onExtraListElement710() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonListElements211() (interface{}, error) { +func (p *parser) callonExtraListElement710() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements211() + return p.cur.onExtraListElement710() } -func (c *current) onListElements215() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement716() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements215() (interface{}, error) { +func (p *parser) callonExtraListElement716() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements215() + return p.cur.onExtraListElement716() } -func (c *current) onListElements219() (interface{}, error) { +func (c *current) onExtraListElement719() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListElements219() (interface{}, error) { +func (p *parser) callonExtraListElement719() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements219() + return p.cur.onExtraListElement719() } -func (c *current) onListElements209(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) +func (c *current) onExtraListElement707(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListElements209() (interface{}, error) { +func (p *parser) callonExtraListElement707() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements209(stack["content"]) + return p.cur.onExtraListElement707(stack["delimiter"]) } -func (c *current) onListElements145(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onExtraListElement729() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonListElements145() (interface{}, error) { +func (p *parser) callonExtraListElement729() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements145(stack["term"], stack["separator"], stack["description"]) + return p.cur.onExtraListElement729() } -func (c *current) onListElements1(firstElement, extraElements interface{}) (interface{}, error) { - return types.NewListElements(append([]interface{}{firstElement}, extraElements.([]interface{})...)) +func (c *current) onExtraListElement735() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListElements1() (interface{}, error) { +func (p *parser) callonExtraListElement735() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListElements1(stack["firstElement"], stack["extraElements"]) + return p.cur.onExtraListElement735() } -func (c *current) onExtraListElements1(elements interface{}) (interface{}, error) { - return types.Flatten(elements.([]interface{})), nil +func (c *current) onExtraListElement738() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElements1() (interface{}, error) { +func (p *parser) callonExtraListElement738() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElements1(stack["elements"]) + return p.cur.onExtraListElement738() } -func (c *current) onExtraListElement17() (interface{}, error) { - return string(c.text), nil +func (c *current) onExtraListElement726(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement17() (interface{}, error) { +func (p *parser) callonExtraListElement726() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement17() + return p.cur.onExtraListElement726(stack["delimiter"]) } -func (c *current) onExtraListElement20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onExtraListElement748() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil + } -func (p *parser) callonExtraListElement20() (interface{}, error) { +func (p *parser) callonExtraListElement748() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement20() + return p.cur.onExtraListElement748() } -func (c *current) onExtraListElement11() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onExtraListElement754() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement11() (interface{}, error) { +func (p *parser) callonExtraListElement754() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement11() + return p.cur.onExtraListElement754() } -func (c *current) onExtraListElement35() (interface{}, error) { +func (c *current) onExtraListElement757() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement35() (interface{}, error) { +func (p *parser) callonExtraListElement757() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement35() + return p.cur.onExtraListElement757() } -func (c *current) onExtraListElement42() (interface{}, error) { +func (c *current) onExtraListElement745(delimiter interface{}) (interface{}, error) { - // `.` is 1, etc. - return (len(c.text)), nil + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement42() (interface{}, error) { +func (p *parser) callonExtraListElement745() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement42() + return p.cur.onExtraListElement745(stack["delimiter"]) } -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) onExtraListElement767() (interface{}, error) { + // sequence of 4 "_" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement45() (bool, error) { +func (p *parser) callonExtraListElement767() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement45(stack["depth"]) + return p.cur.onExtraListElement767() } -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) onExtraListElement773() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement39() (interface{}, error) { +func (p *parser) callonExtraListElement773() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement39(stack["depth"]) + return p.cur.onExtraListElement773() } -func (c *current) onExtraListElement46() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - +func (c *current) onExtraListElement776() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement46() (interface{}, error) { +func (p *parser) callonExtraListElement776() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement46() + return p.cur.onExtraListElement776() } -func (c *current) onExtraListElement51() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onExtraListElement764(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement51() (interface{}, error) { +func (p *parser) callonExtraListElement764() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement51() + return p.cur.onExtraListElement764(stack["delimiter"]) } -func (c *current) onExtraListElement55() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onExtraListElement786() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement55() (interface{}, error) { +func (p *parser) callonExtraListElement786() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement55() + return p.cur.onExtraListElement786() } -func (c *current) onExtraListElement59() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onExtraListElement792() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement59() (interface{}, error) { +func (p *parser) callonExtraListElement792() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement59() + return p.cur.onExtraListElement792() } -func (c *current) onExtraListElement64() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) - +func (c *current) onExtraListElement795() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement64() (interface{}, error) { +func (p *parser) callonExtraListElement795() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement64() + return p.cur.onExtraListElement795() } -func (c *current) onExtraListElement69(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onExtraListElement783(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement69() (interface{}, error) { +func (p *parser) callonExtraListElement783() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement69(stack["prefix"]) + return p.cur.onExtraListElement783(stack["delimiter"]) } -func (c *current) onExtraListElement32(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onExtraListElement626(delimiter interface{}) (interface{}, error) { + return delimiter, nil + } -func (p *parser) callonExtraListElement32() (interface{}, error) { +func (p *parser) callonExtraListElement626() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement32(stack["prefix"]) + return p.cur.onExtraListElement626(stack["delimiter"]) } -func (c *current) onExtraListElement77() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onExtraListElement803() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement77() (interface{}, error) { +func (p *parser) callonExtraListElement803() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement77() + return p.cur.onExtraListElement803() } -func (c *current) onExtraListElement81() (interface{}, error) { +func (c *current) onExtraListElement807() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement81() (interface{}, error) { +func (p *parser) callonExtraListElement807() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement81() + return p.cur.onExtraListElement807() } -func (c *current) onExtraListElement73(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) +func (c *current) onExtraListElement496(content interface{}) (interface{}, error) { + // do not retain the EOL chars + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement73() (interface{}, error) { +func (p *parser) callonExtraListElement496() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement73(stack["rawlines"]) + return p.cur.onExtraListElement496(stack["content"]) } -func (c *current) onExtraListElement29(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonExtraListElement29() (interface{}, error) { +func (p *parser) callonExtraListElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement29(stack["prefix"], stack["content"]) + return p.cur.onExtraListElement1(stack["element"]) } -func (c *current) onExtraListElement94() (interface{}, error) { +func (c *current) onListContinuation7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement94() (interface{}, error) { +func (p *parser) callonListContinuation7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement94() + return p.cur.onListContinuation7() } -func (c *current) onExtraListElement97() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onListContinuation9() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement97() (interface{}, error) { +func (p *parser) callonListContinuation9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement97() + return p.cur.onListContinuation9() } -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 +func (c *current) onListContinuation16() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement102() (bool, error) { +func (p *parser) callonListContinuation16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement102(stack["style"]) + return p.cur.onListContinuation16() } -func (c *current) onExtraListElement103(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuation18(offset interface{}) (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement103() (interface{}, error) { +func (p *parser) callonListContinuation18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement103(stack["style"]) + return p.cur.onListContinuation18(stack["offset"]) } -func (c *current) onExtraListElement91(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +func (c *current) onListContinuation1(offset, element interface{}) (interface{}, error) { + return types.NewListContinuation(len(offset.([]interface{})), element) } -func (p *parser) callonExtraListElement91() (interface{}, error) { +func (p *parser) callonListContinuation1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement91(stack["style"]) + return p.cur.onListContinuation1(stack["offset"], stack["element"]) } -func (c *current) onExtraListElement114() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onListContinuationElement14() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement114() (interface{}, error) { +func (p *parser) callonListContinuationElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement114() + return p.cur.onListContinuationElement14() } -func (c *current) onExtraListElement116() (interface{}, error) { - return types.Checked, nil -} +func (c *current) onListContinuationElement21() (interface{}, error) { -func (p *parser) callonExtraListElement116() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement116() -} + // `.` is 1, etc. + return (len(c.text)), nil -func (c *current) onExtraListElement118() (interface{}, error) { - return types.Checked, nil } -func (p *parser) callonExtraListElement118() (interface{}, error) { +func (p *parser) callonListContinuationElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement118() + return p.cur.onListContinuationElement21() } -func (c *current) onExtraListElement120(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +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 (p *parser) callonExtraListElement120() (interface{}, error) { +func (p *parser) callonListContinuationElement24() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement120(stack["style"]) + return p.cur.onListContinuationElement24(stack["depth"]) } -func (c *current) onExtraListElement108(style interface{}) (interface{}, error) { - return style, nil +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 (p *parser) callonExtraListElement108() (interface{}, error) { +func (p *parser) callonListContinuationElement18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement108(stack["style"]) + return p.cur.onListContinuationElement18(stack["depth"]) } -func (c *current) onExtraListElement128() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement25() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonExtraListElement128() (interface{}, error) { +func (p *parser) callonListContinuationElement25() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement128() + return p.cur.onListContinuationElement25() } -func (c *current) onExtraListElement132() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement30() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + } -func (p *parser) callonExtraListElement132() (interface{}, error) { +func (p *parser) callonListContinuationElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement132() + return p.cur.onListContinuationElement30() } -func (c *current) onExtraListElement124(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) +func (c *current) onListContinuationElement34() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonExtraListElement124() (interface{}, error) { +func (p *parser) callonListContinuationElement34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement124(stack["rawlines"]) + return p.cur.onListContinuationElement34() } -func (c *current) onExtraListElement88(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onListContinuationElement38() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonExtraListElement88() (interface{}, error) { +func (p *parser) callonListContinuationElement38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement88(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onListContinuationElement38() } -func (c *current) onExtraListElement146() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListContinuationElement43() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) + } -func (p *parser) callonExtraListElement146() (interface{}, error) { +func (p *parser) callonListContinuationElement43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement146() + return p.cur.onListContinuationElement43() } -func (c *current) onExtraListElement150(ref interface{}) (interface{}, error) { +func (c *current) onListContinuationElement48(prefix interface{}) (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonExtraListElement150() (interface{}, error) { +func (p *parser) callonListContinuationElement48() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement150(stack["ref"]) + return p.cur.onListContinuationElement48(stack["prefix"]) } -func (c *current) onExtraListElement142(ref interface{}) (interface{}, error) { - return ref, nil - +func (c *current) onListContinuationElement11(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonExtraListElement142() (interface{}, error) { +func (p *parser) callonListContinuationElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement142(stack["ref"]) + return p.cur.onListContinuationElement11(stack["prefix"]) } -func (c *current) onExtraListElement158() (interface{}, error) { +func (c *current) onListContinuationElement56() (interface{}, error) { return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement158() (interface{}, error) { +func (p *parser) callonListContinuationElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement158() + return p.cur.onListContinuationElement56() } -func (c *current) onExtraListElement162() (interface{}, error) { +func (c *current) onListContinuationElement60() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement162() (interface{}, error) { +func (p *parser) callonListContinuationElement60() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement162() + return p.cur.onListContinuationElement60() } -func (c *current) onExtraListElement154(rawlines interface{}) (interface{}, error) { +func (c *current) onListContinuationElement52(rawlines interface{}) (interface{}, error) { return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonExtraListElement154() (interface{}, error) { +func (p *parser) callonListContinuationElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement154(stack["rawlines"]) + return p.cur.onListContinuationElement52(stack["rawlines"]) } -func (c *current) onExtraListElement139(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onListContinuationElement8(prefix, content interface{}) (interface{}, error) { + return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) } -func (p *parser) callonExtraListElement139() (interface{}, error) { +func (p *parser) callonListContinuationElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement139(stack["ref"], stack["description"]) + return p.cur.onListContinuationElement8(stack["prefix"], stack["content"]) } -func (c *current) onExtraListElement179() (interface{}, error) { +func (c *current) onListContinuationElement73() (interface{}, error) { + return string(c.text), nil + +} + +func (p *parser) callonListContinuationElement73() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement73() +} +func (c *current) onListContinuationElement76() (interface{}, error) { + // `-` or `*` to `*****` return string(c.text), nil } -func (p *parser) callonExtraListElement179() (interface{}, error) { +func (p *parser) callonListContinuationElement76() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement76() +} + +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 (p *parser) callonListContinuationElement81() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement179() + return p.cur.onListContinuationElement81(stack["style"]) } -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) onListContinuationElement82(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement182() (bool, error) { +func (p *parser) callonListContinuationElement82() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement182(stack["separator"]) + return p.cur.onListContinuationElement82(stack["style"]) } -func (c *current) onExtraListElement176(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListContinuationElement70(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonExtraListElement176() (interface{}, error) { +func (p *parser) callonListContinuationElement70() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement176(stack["separator"]) + return p.cur.onListContinuationElement70(stack["style"]) } -func (c *current) onExtraListElement185() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement93() (interface{}, error) { + return types.Unchecked, nil } -func (p *parser) callonExtraListElement185() (interface{}, error) { +func (p *parser) callonListContinuationElement93() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement185() + return p.cur.onListContinuationElement93() } -func (c *current) onExtraListElement172() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) - +func (c *current) onListContinuationElement95() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement172() (interface{}, error) { +func (p *parser) callonListContinuationElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement172() + return p.cur.onListContinuationElement95() } -func (c *current) onExtraListElement197() (interface{}, error) { - - return string(c.text), nil - +func (c *current) onListContinuationElement97() (interface{}, error) { + return types.Checked, nil } -func (p *parser) callonExtraListElement197() (interface{}, error) { +func (p *parser) callonListContinuationElement97() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement197() + return p.cur.onListContinuationElement97() } -func (c *current) onExtraListElement200(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) onListContinuationElement99(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement200() (bool, error) { +func (p *parser) callonListContinuationElement99() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement200(stack["separator"]) + return p.cur.onListContinuationElement99(stack["style"]) } -func (c *current) onExtraListElement194(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListContinuationElement87(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonExtraListElement194() (interface{}, error) { +func (p *parser) callonListContinuationElement87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement194(stack["separator"]) + return p.cur.onListContinuationElement87(stack["style"]) } -func (c *current) onExtraListElement206() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement107() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement206() (interface{}, error) { +func (p *parser) callonListContinuationElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement206() + return p.cur.onListContinuationElement107() } -func (c *current) onExtraListElement209() (interface{}, error) { +func (c *current) onListContinuationElement111() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement209() (interface{}, error) { +func (p *parser) callonListContinuationElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement209() + return p.cur.onListContinuationElement111() } -func (c *current) onExtraListElement223() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement103(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonExtraListElement223() (interface{}, error) { +func (p *parser) callonListContinuationElement103() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement223() + return p.cur.onListContinuationElement103(stack["rawlines"]) } -func (c *current) onExtraListElement226() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement67(prefix, checkstyle, content interface{}) (interface{}, error) { + return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) + } -func (p *parser) callonExtraListElement226() (interface{}, error) { +func (p *parser) callonListContinuationElement67() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement226() + return p.cur.onListContinuationElement67(stack["prefix"], stack["checkstyle"], stack["content"]) } -func (c *current) onExtraListElement217() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onListContinuationElement125() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonExtraListElement217() (interface{}, error) { +func (p *parser) callonListContinuationElement125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement217() + return p.cur.onListContinuationElement125() } -func (c *current) onExtraListElement203() (interface{}, error) { - return nil, nil +func (c *current) onListContinuationElement129(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement203() (interface{}, error) { +func (p *parser) callonListContinuationElement129() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement203() + return p.cur.onListContinuationElement129(stack["ref"]) } -func (c *current) onExtraListElement235() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListContinuationElement121(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonExtraListElement235() (interface{}, error) { +func (p *parser) callonListContinuationElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement235() + return p.cur.onListContinuationElement121(stack["ref"]) } -func (c *current) onExtraListElement239() (interface{}, error) { +func (c *current) onListContinuationElement137() (interface{}, error) { return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement239() (interface{}, error) { +func (p *parser) callonListContinuationElement137() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement239() + return p.cur.onListContinuationElement137() } -func (c *current) onExtraListElement243() (interface{}, error) { +func (c *current) onListContinuationElement141() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement243() (interface{}, error) { +func (p *parser) callonListContinuationElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement243() + return p.cur.onListContinuationElement141() } -func (c *current) onExtraListElement233(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) +func (c *current) onListContinuationElement133(rawlines interface{}) (interface{}, error) { + return types.NewParagraph(nil, rawlines.([]interface{})...) } -func (p *parser) callonExtraListElement233() (interface{}, error) { +func (p *parser) callonListContinuationElement133() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement233(stack["content"]) + return p.cur.onListContinuationElement133(stack["rawlines"]) } -func (c *current) onExtraListElement169(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onListContinuationElement118(ref, description interface{}) (interface{}, error) { + return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) } -func (p *parser) callonExtraListElement169() (interface{}, error) { +func (p *parser) callonListContinuationElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement169(stack["term"], stack["separator"], stack["description"]) + return p.cur.onListContinuationElement118(stack["ref"], stack["description"]) } -func (c *current) onExtraListElement8(element interface{}) (interface{}, error) { +func (c *current) onListContinuationElement158() (interface{}, error) { - return element, nil + return string(c.text), nil } -func (p *parser) callonExtraListElement8() (interface{}, error) { +func (p *parser) callonListContinuationElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement8(stack["element"]) + return p.cur.onListContinuationElement158() } -func (c *current) onExtraListElement263() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement161(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) callonExtraListElement263() (interface{}, error) { +func (p *parser) callonListContinuationElement161() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement263() + return p.cur.onListContinuationElement161(stack["separator"]) } -func (c *current) onExtraListElement270() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onListContinuationElement155(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement270() (interface{}, error) { +func (p *parser) callonListContinuationElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement270() + return p.cur.onListContinuationElement155(stack["separator"]) } -func (c *current) onExtraListElement273(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil - +func (c *current) onListContinuationElement164() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement273() (bool, error) { +func (p *parser) callonListContinuationElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement273(stack["depth"]) + return p.cur.onListContinuationElement164() } -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) onListContinuationElement151() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonExtraListElement267() (interface{}, error) { +func (p *parser) callonListContinuationElement151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement267(stack["depth"]) + return p.cur.onListContinuationElement151() } -func (c *current) onExtraListElement274() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onListContinuationElement176() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement274() (interface{}, error) { +func (p *parser) callonListContinuationElement176() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement274() + return p.cur.onListContinuationElement176() } -func (c *current) onExtraListElement279() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onListContinuationElement179(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) callonExtraListElement279() (interface{}, error) { +func (p *parser) callonListContinuationElement179() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement279() + return p.cur.onListContinuationElement179(stack["separator"]) } -func (c *current) onExtraListElement283() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onListContinuationElement173(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonExtraListElement283() (interface{}, error) { +func (p *parser) callonListContinuationElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement283() + return p.cur.onListContinuationElement173(stack["separator"]) } -func (c *current) onExtraListElement287() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onListContinuationElement185() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement287() (interface{}, error) { +func (p *parser) callonListContinuationElement185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement287() + return p.cur.onListContinuationElement185() } -func (c *current) onExtraListElement292() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) - +func (c *current) onListContinuationElement188() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement292() (interface{}, error) { +func (p *parser) callonListContinuationElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement292() + return p.cur.onListContinuationElement188() } -func (c *current) onExtraListElement297(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement202() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement297() (interface{}, error) { +func (p *parser) callonListContinuationElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement297(stack["prefix"]) + return p.cur.onListContinuationElement202() } -func (c *current) onExtraListElement260(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListContinuationElement205() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement260() (interface{}, error) { +func (p *parser) callonListContinuationElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement260(stack["prefix"]) + return p.cur.onListContinuationElement205() } -func (c *current) onExtraListElement305() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement196() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonExtraListElement305() (interface{}, error) { +func (p *parser) callonListContinuationElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement305() + return p.cur.onListContinuationElement196() } -func (c *current) onExtraListElement309() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement182() (interface{}, error) { + return nil, nil + } -func (p *parser) callonExtraListElement309() (interface{}, error) { +func (p *parser) callonListContinuationElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement309() + return p.cur.onListContinuationElement182() } -func (c *current) onExtraListElement301(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) +func (c *current) onListContinuationElement214() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonExtraListElement301() (interface{}, error) { +func (p *parser) callonListContinuationElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement301(stack["rawlines"]) + return p.cur.onListContinuationElement214() } -func (c *current) onExtraListElement257(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onListContinuationElement218() (interface{}, error) { + return types.NewRawLine(string(c.text)) } -func (p *parser) callonExtraListElement257() (interface{}, error) { +func (p *parser) callonListContinuationElement218() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement257(stack["prefix"], stack["content"]) + return p.cur.onListContinuationElement218() } -func (c *current) onExtraListElement322() (interface{}, error) { +func (c *current) onListContinuationElement222() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement322() (interface{}, error) { +func (p *parser) callonListContinuationElement222() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement322() + return p.cur.onListContinuationElement222() } -func (c *current) onExtraListElement325() (interface{}, error) { - // `-` or `*` to `*****` - return string(c.text), nil +func (c *current) onListContinuationElement212(content interface{}) (interface{}, error) { + return types.NewParagraph(nil, content) } -func (p *parser) callonExtraListElement325() (interface{}, error) { +func (p *parser) callonListContinuationElement212() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement325() + return p.cur.onListContinuationElement212(stack["content"]) } -func (c *current) onExtraListElement330(style interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil +func (c *current) onListContinuationElement148(term, separator, description interface{}) (interface{}, error) { + return types.NewLabeledListElement(len(separator.(string))-1, term, description) } -func (p *parser) callonExtraListElement330() (bool, error) { +func (p *parser) callonListContinuationElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement330(stack["style"]) + return p.cur.onListContinuationElement148(stack["term"], stack["separator"], stack["description"]) } -func (c *current) onExtraListElement331(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement240() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement331() (interface{}, error) { +func (p *parser) callonListContinuationElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement331(stack["style"]) + return p.cur.onListContinuationElement240() } -func (c *current) onExtraListElement319(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) - +func (c *current) onListContinuationElement243() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement319() (interface{}, error) { +func (p *parser) callonListContinuationElement243() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement319(stack["style"]) + return p.cur.onListContinuationElement243() } -func (c *current) onExtraListElement342() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onListContinuationElement234() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonExtraListElement342() (interface{}, error) { +func (p *parser) callonListContinuationElement234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement342() + return p.cur.onListContinuationElement234() } -func (c *current) onExtraListElement344() (interface{}, error) { - return types.Checked, nil +func (c *current) onListContinuationElement255() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement344() (interface{}, error) { +func (p *parser) callonListContinuationElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement344() + return p.cur.onListContinuationElement255() } -func (c *current) onExtraListElement346() (interface{}, error) { - return types.Checked, nil +func (c *current) onListContinuationElement262() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement346() (interface{}, error) { +func (p *parser) callonListContinuationElement262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement346() + return p.cur.onListContinuationElement262() } -func (c *current) onExtraListElement348(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement265() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonListContinuationElement265() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement265() } -func (p *parser) callonExtraListElement348() (interface{}, error) { +func (c *current) onListContinuationElement251(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) + +} + +func (p *parser) callonListContinuationElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement348(stack["style"]) + return p.cur.onListContinuationElement251(stack["name"]) } -func (c *current) onExtraListElement336(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onListContinuationElement276() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement336() (interface{}, error) { +func (p *parser) callonListContinuationElement276() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement336(stack["style"]) + return p.cur.onListContinuationElement276() } -func (c *current) onExtraListElement356() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement283() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement356() (interface{}, error) { +func (p *parser) callonListContinuationElement283() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement356() + return p.cur.onListContinuationElement283() } -func (c *current) onExtraListElement360() (interface{}, error) { +func (c *current) onListContinuationElement286() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement360() (interface{}, error) { +func (p *parser) callonListContinuationElement286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement360() + return p.cur.onListContinuationElement286() } -func (c *current) onExtraListElement352(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) +func (c *current) onListContinuationElement272(name interface{}) (interface{}, error) { + return types.NewAttributeReset(name.(string), string(c.text)) } -func (p *parser) callonExtraListElement352() (interface{}, error) { +func (p *parser) callonListContinuationElement272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement352(stack["rawlines"]) + return p.cur.onListContinuationElement272(stack["name"]) } -func (c *current) onExtraListElement316(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) +func (c *current) onListContinuationElement298() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement316() (interface{}, error) { +func (p *parser) callonListContinuationElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement316(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onListContinuationElement298() } -func (c *current) onExtraListElement374() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListContinuationElement304() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonExtraListElement374() (interface{}, error) { +func (p *parser) callonListContinuationElement304() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement374() + return p.cur.onListContinuationElement304() } -func (c *current) onExtraListElement378(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement307() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement378() (interface{}, error) { +func (p *parser) callonListContinuationElement307() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement378(stack["ref"]) + return p.cur.onListContinuationElement307() } -func (c *current) onExtraListElement370(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onListContinuationElement295(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement370() (interface{}, error) { +func (p *parser) callonListContinuationElement295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement370(stack["ref"]) + return p.cur.onListContinuationElement295(stack["delimiter"]) } -func (c *current) onExtraListElement386() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement323() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement386() (interface{}, error) { +func (p *parser) callonListContinuationElement323() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement386() + return p.cur.onListContinuationElement323() } -func (c *current) onExtraListElement390() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement329() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement390() (interface{}, error) { +func (p *parser) callonListContinuationElement329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement390() + return p.cur.onListContinuationElement329() } -func (c *current) onExtraListElement382(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) - +func (c *current) onListContinuationElement332() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement382() (interface{}, error) { +func (p *parser) callonListContinuationElement332() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement382(stack["rawlines"]) + return p.cur.onListContinuationElement332() } -func (c *current) onExtraListElement367(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onListContinuationElement320(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement367() (interface{}, error) { +func (p *parser) callonListContinuationElement320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement367(stack["ref"], stack["description"]) + return p.cur.onListContinuationElement320(stack["delimiter"]) } -func (c *current) onExtraListElement407() (interface{}, error) { +func (c *current) onListContinuationElement348() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement407() (interface{}, error) { +func (p *parser) callonListContinuationElement348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement407() + return p.cur.onListContinuationElement348() } -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) onListContinuationElement352() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement410() (bool, error) { +func (p *parser) callonListContinuationElement352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement410(stack["separator"]) + return p.cur.onListContinuationElement352() } -func (c *current) onExtraListElement404(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListContinuationElement342(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement404() (interface{}, error) { +func (p *parser) callonListContinuationElement342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement404(stack["separator"]) + return p.cur.onListContinuationElement342(stack["content"]) } -func (c *current) onExtraListElement413() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement316(line interface{}) (interface{}, error) { + return line, nil + } -func (p *parser) callonExtraListElement413() (interface{}, error) { +func (p *parser) callonListContinuationElement316() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement413() + return p.cur.onListContinuationElement316(stack["line"]) } -func (c *current) onExtraListElement400() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onListContinuationElement364() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement400() (interface{}, error) { +func (p *parser) callonListContinuationElement364() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement400() + return p.cur.onListContinuationElement364() } -func (c *current) onExtraListElement425() (interface{}, error) { - +func (c *current) onListContinuationElement370() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement425() (interface{}, error) { +func (p *parser) callonListContinuationElement370() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement425() + return p.cur.onListContinuationElement370() } -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) onListContinuationElement373() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement428() (bool, error) { +func (p *parser) callonListContinuationElement373() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement428(stack["separator"]) + return p.cur.onListContinuationElement373() } -func (c *current) onExtraListElement422(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListContinuationElement361(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement422() (interface{}, error) { +func (p *parser) callonListContinuationElement361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement422(stack["separator"]) + return p.cur.onListContinuationElement361(stack["delimiter"]) } -func (c *current) onExtraListElement434() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement293(delimiter, content interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Comment, content.([]interface{})) } -func (p *parser) callonExtraListElement434() (interface{}, error) { +func (p *parser) callonListContinuationElement293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement434() + return p.cur.onListContinuationElement293(stack["delimiter"], stack["content"]) } -func (c *current) onExtraListElement437() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement388() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil + } -func (p *parser) callonExtraListElement437() (interface{}, error) { +func (p *parser) callonListContinuationElement388() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement437() + return p.cur.onListContinuationElement388() } -func (c *current) onExtraListElement451() (interface{}, error) { +func (c *current) onListContinuationElement394() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement451() (interface{}, error) { +func (p *parser) callonListContinuationElement394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement451() + return p.cur.onListContinuationElement394() } -func (c *current) onExtraListElement454() (interface{}, error) { +func (c *current) onListContinuationElement397() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement454() (interface{}, error) { +func (p *parser) callonListContinuationElement397() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement454() + return p.cur.onListContinuationElement397() } -func (c *current) onExtraListElement445() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListContinuationElement385(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement445() (interface{}, error) { +func (p *parser) callonListContinuationElement385() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement445() + return p.cur.onListContinuationElement385(stack["delimiter"]) } -func (c *current) onExtraListElement431() (interface{}, error) { - return nil, nil +func (c *current) onListContinuationElement404(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement431() (interface{}, error) { +func (p *parser) callonListContinuationElement404() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement431() + return p.cur.onListContinuationElement404(stack["start"]) } -func (c *current) onExtraListElement463() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement416() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement463() (interface{}, error) { +func (p *parser) callonListContinuationElement416() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement463() + return p.cur.onListContinuationElement416() } -func (c *current) onExtraListElement467() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement422() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement467() (interface{}, error) { +func (p *parser) callonListContinuationElement422() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement467() + return p.cur.onListContinuationElement422() } -func (c *current) onExtraListElement471() (interface{}, error) { +func (c *current) onListContinuationElement425() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement471() (interface{}, error) { +func (p *parser) callonListContinuationElement425() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement471() + return p.cur.onListContinuationElement425() } -func (c *current) onExtraListElement461(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) +func (c *current) onListContinuationElement413(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement461() (interface{}, error) { +func (p *parser) callonListContinuationElement413() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement461(stack["content"]) + return p.cur.onListContinuationElement413(stack["delimiter"]) } -func (c *current) onExtraListElement397(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onListContinuationElement432(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement397() (interface{}, error) { +func (p *parser) callonListContinuationElement432() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement397(stack["term"], stack["separator"], stack["description"]) + return p.cur.onListContinuationElement432(stack["end"]) } -func (c *current) onExtraListElement250(attributes, element interface{}) (interface{}, error) { +func (c *current) onListContinuationElement442() (interface{}, error) { - return append(attributes.([]interface{}), element), nil + return string(c.text), nil } -func (p *parser) callonExtraListElement250() (interface{}, error) { +func (p *parser) callonListContinuationElement442() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement250(stack["attributes"], stack["element"]) + return p.cur.onListContinuationElement442() } -func (c *current) onExtraListElement485() (interface{}, error) { - +func (c *current) onListContinuationElement446() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} +func (p *parser) callonListContinuationElement446() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement446() } -func (p *parser) callonExtraListElement485() (interface{}, error) { +func (c *current) onListContinuationElement436(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + +} + +func (p *parser) callonListContinuationElement436() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement485() + return p.cur.onListContinuationElement436(stack["content"]) } -func (c *current) onExtraListElement489() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement407(line interface{}) (interface{}, error) { + return line, nil + } -func (p *parser) callonExtraListElement489() (interface{}, error) { +func (p *parser) callonListContinuationElement407() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement489() + return p.cur.onListContinuationElement407(stack["line"]) } -func (c *current) onExtraListElement479(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onListContinuationElement461() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement479() (interface{}, error) { +func (p *parser) callonListContinuationElement461() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement479(stack["content"]) + return p.cur.onListContinuationElement461() } -func (c *current) onExtraListElement505() (interface{}, error) { +func (c *current) onListContinuationElement467() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement505() (interface{}, error) { +func (p *parser) callonListContinuationElement467() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement505() + return p.cur.onListContinuationElement467() } -func (c *current) onExtraListElement508() (interface{}, error) { +func (c *current) onListContinuationElement470() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement508() (interface{}, error) { +func (p *parser) callonListContinuationElement470() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement508() + return p.cur.onListContinuationElement470() } -func (c *current) onExtraListElement499() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListContinuationElement458(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement499() (interface{}, error) { +func (p *parser) callonListContinuationElement458() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement499() + return p.cur.onListContinuationElement458(stack["delimiter"]) } -func (c *current) onExtraListElement519() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement477(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement519() (interface{}, error) { +func (p *parser) callonListContinuationElement477() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement519() + return p.cur.onListContinuationElement477(stack["end"]) } -func (c *current) onExtraListElement521() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement382(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Example, content.([]interface{})) + } -func (p *parser) callonExtraListElement521() (interface{}, error) { +func (p *parser) callonListContinuationElement382() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement521() + return p.cur.onListContinuationElement382(stack["start"], stack["content"], stack["end"]) } -func (c *current) onExtraListElement530() (interface{}, error) { +func (c *current) onListContinuationElement487() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars return string(c.text), nil - } -func (p *parser) callonExtraListElement530() (interface{}, error) { +func (p *parser) callonListContinuationElement487() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement530() + return p.cur.onListContinuationElement487() } -func (c *current) onExtraListElement537() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onListContinuationElement491() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement537() (interface{}, error) { +func (p *parser) callonListContinuationElement491() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement537() + return p.cur.onListContinuationElement491() } -func (c *current) onExtraListElement540(depth interface{}) (bool, error) { +func (c *current) onListContinuationElement494() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (p *parser) callonListContinuationElement494() (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)) } -func (p *parser) callonExtraListElement540() (bool, error) { +func (p *parser) callonListContinuationElement483() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement540(stack["depth"]) + return p.cur.onListContinuationElement483(stack["language"]) } -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) onListContinuationElement509() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement534() (interface{}, error) { +func (p *parser) callonListContinuationElement509() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement534(stack["depth"]) + return p.cur.onListContinuationElement509() } -func (c *current) onExtraListElement541() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) - +func (c *current) onListContinuationElement512() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement541() (interface{}, error) { +func (p *parser) callonListContinuationElement512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement541() + return p.cur.onListContinuationElement512() } -func (c *current) onExtraListElement546() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onListContinuationElement526() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonExtraListElement546() (interface{}, error) { +func (p *parser) callonListContinuationElement526() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement546() + return p.cur.onListContinuationElement526() } -func (c *current) onExtraListElement550() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) - +func (c *current) onListContinuationElement530() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement550() (interface{}, error) { +func (p *parser) callonListContinuationElement530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement550() + return p.cur.onListContinuationElement530() } -func (c *current) onExtraListElement554() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onListContinuationElement520(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement554() (interface{}, error) { +func (p *parser) callonListContinuationElement520() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement554() + return p.cur.onListContinuationElement520(stack["content"]) } -func (c *current) onExtraListElement559() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onListContinuationElement503(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExtraListElement559() (interface{}, error) { +func (p *parser) callonListContinuationElement503() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement559() + return p.cur.onListContinuationElement503(stack["line"]) } -func (c *current) onExtraListElement564(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement541() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement564() (interface{}, error) { +func (p *parser) callonListContinuationElement541() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement564(stack["prefix"]) + return p.cur.onListContinuationElement541() } -func (c *current) onExtraListElement527(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListContinuationElement544() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement527() (interface{}, error) { +func (p *parser) callonListContinuationElement544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement527(stack["prefix"]) + return p.cur.onListContinuationElement544() } -func (c *current) onExtraListElement571() (interface{}, error) { - return string(c.text), nil +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 (p *parser) callonExtraListElement571() (interface{}, error) { +func (p *parser) callonListContinuationElement480() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement571() + return p.cur.onListContinuationElement480(stack["delimiter"], stack["content"]) } -func (c *current) onExtraListElement574() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onListContinuationElement557() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement574() (interface{}, error) { +func (p *parser) callonListContinuationElement557() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement574() + return p.cur.onListContinuationElement557() } -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) onListContinuationElement563() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement579() (bool, error) { +func (p *parser) callonListContinuationElement563() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement579(stack["style"]) + return p.cur.onListContinuationElement563() } -func (c *current) onExtraListElement580(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement566() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement580() (interface{}, error) { +func (p *parser) callonListContinuationElement566() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement580(stack["style"]) + return p.cur.onListContinuationElement566() } -func (c *current) onExtraListElement568(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +func (c *current) onListContinuationElement554(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement568() (interface{}, error) { +func (p *parser) callonListContinuationElement554() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement568(stack["style"]) + return p.cur.onListContinuationElement554(stack["delimiter"]) } -func (c *current) onExtraListElement588() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListContinuationElement573(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + } -func (p *parser) callonExtraListElement588() (interface{}, error) { +func (p *parser) callonListContinuationElement573() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement588() + return p.cur.onListContinuationElement573(stack["start"]) } -func (c *current) onExtraListElement592(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement585() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement592() (interface{}, error) { +func (p *parser) callonListContinuationElement585() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement592(stack["ref"]) + return p.cur.onListContinuationElement585() } -func (c *current) onExtraListElement584(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onListContinuationElement591() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement584() (interface{}, error) { +func (p *parser) callonListContinuationElement591() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement584(stack["ref"]) + return p.cur.onListContinuationElement591() } -func (c *current) onExtraListElement604() (interface{}, error) { - +func (c *current) onListContinuationElement594() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement604() (interface{}, error) { +func (p *parser) callonListContinuationElement594() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement604() + return p.cur.onListContinuationElement594() } -func (c *current) onExtraListElement607(separator interface{}) (bool, error) { +func (c *current) onListContinuationElement582(delimiter interface{}) (interface{}, error) { - // use a predicate to make sure that separator is `::`, `:::` or `::::` - return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement607() (bool, error) { +func (p *parser) callonListContinuationElement582() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement607(stack["separator"]) + return p.cur.onListContinuationElement582(stack["delimiter"]) } -func (c *current) onExtraListElement601(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListContinuationElement601(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement601() (interface{}, error) { +func (p *parser) callonListContinuationElement601() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement601(stack["separator"]) -} - -func (c *current) onExtraListElement610() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onListContinuationElement601(stack["end"]) } -func (p *parser) callonExtraListElement610() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement610() -} +func (c *current) onListContinuationElement611() (interface{}, error) { -func (c *current) onExtraListElement597() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) + return string(c.text), nil } -func (p *parser) callonExtraListElement597() (interface{}, error) { +func (p *parser) callonListContinuationElement611() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement597() + return p.cur.onListContinuationElement611() } -func (c *current) onExtraListElement621() (interface{}, error) { - +func (c *current) onListContinuationElement615() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement621() (interface{}, error) { +func (p *parser) callonListContinuationElement615() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement621() + return p.cur.onListContinuationElement615() } -func (c *current) onExtraListElement624(separator interface{}) (bool, error) { +func (c *current) onListContinuationElement605(content 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.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement624() (bool, error) { +func (p *parser) callonListContinuationElement605() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement624(stack["separator"]) + return p.cur.onListContinuationElement605(stack["content"]) } -func (c *current) onExtraListElement618(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onListContinuationElement576(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExtraListElement618() (interface{}, error) { +func (p *parser) callonListContinuationElement576() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement618(stack["separator"]) + return p.cur.onListContinuationElement576(stack["line"]) } -func (c *current) onExtraListElement635() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onListContinuationElement630() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement635() (interface{}, error) { +func (p *parser) callonListContinuationElement630() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement635() + return p.cur.onListContinuationElement630() } -func (c *current) onExtraListElement641() (interface{}, error) { +func (c *current) onListContinuationElement636() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement641() (interface{}, error) { +func (p *parser) callonListContinuationElement636() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement641() + return p.cur.onListContinuationElement636() } -func (c *current) onExtraListElement644() (interface{}, error) { +func (c *current) onListContinuationElement639() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement644() (interface{}, error) { +func (p *parser) callonListContinuationElement639() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement644() + return p.cur.onListContinuationElement639() } -func (c *current) onExtraListElement632(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement627(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement632() (interface{}, error) { +func (p *parser) callonListContinuationElement627() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement632(stack["delimiter"]) + return p.cur.onListContinuationElement627(stack["delimiter"]) } -func (c *current) onExtraListElement654() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement646(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement654() (interface{}, error) { +func (p *parser) callonListContinuationElement646() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement654() + return p.cur.onListContinuationElement646(stack["end"]) } -func (c *current) onExtraListElement660() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement551(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) } -func (p *parser) callonExtraListElement660() (interface{}, error) { +func (p *parser) callonListContinuationElement551() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement660() + return p.cur.onListContinuationElement551(stack["start"], stack["content"], stack["end"]) } -func (c *current) onExtraListElement663() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement655() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil + } -func (p *parser) callonExtraListElement663() (interface{}, error) { +func (p *parser) callonListContinuationElement655() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement663() + return p.cur.onListContinuationElement655() } -func (c *current) onExtraListElement651(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement661() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement651() (interface{}, error) { +func (p *parser) callonListContinuationElement661() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement651(stack["delimiter"]) + return p.cur.onListContinuationElement661() } -func (c *current) onExtraListElement674() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onListContinuationElement664() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement674() (interface{}, error) { +func (p *parser) callonListContinuationElement664() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement674() + return p.cur.onListContinuationElement664() } -func (c *current) onExtraListElement678() (interface{}, error) { - return string(c.text), nil - -} +func (c *current) onListContinuationElement652(delimiter interface{}) (interface{}, error) { -func (p *parser) callonExtraListElement678() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onExtraListElement678() -} + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) -func (c *current) onExtraListElement681() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonExtraListElement681() (interface{}, error) { +func (p *parser) callonListContinuationElement652() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement681() + return p.cur.onListContinuationElement652(stack["delimiter"]) } -func (c *current) onExtraListElement670(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onListContinuationElement671(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + } -func (p *parser) callonExtraListElement670() (interface{}, error) { +func (p *parser) callonListContinuationElement671() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement670(stack["language"]) + return p.cur.onListContinuationElement671(stack["start"]) } -func (c *current) onExtraListElement691() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onListContinuationElement683() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement691() (interface{}, error) { +func (p *parser) callonListContinuationElement683() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement691() + return p.cur.onListContinuationElement683() } -func (c *current) onExtraListElement697() (interface{}, error) { +func (c *current) onListContinuationElement689() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement697() (interface{}, error) { +func (p *parser) callonListContinuationElement689() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement697() + return p.cur.onListContinuationElement689() } -func (c *current) onExtraListElement700() (interface{}, error) { +func (c *current) onListContinuationElement692() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement700() (interface{}, error) { +func (p *parser) callonListContinuationElement692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement700() + return p.cur.onListContinuationElement692() } -func (c *current) onExtraListElement688(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement680(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement688() (interface{}, error) { +func (p *parser) callonListContinuationElement680() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement688(stack["delimiter"]) + return p.cur.onListContinuationElement680(stack["delimiter"]) } -func (c *current) onExtraListElement710() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement699(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement710() (interface{}, error) { +func (p *parser) callonListContinuationElement699() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement710() + return p.cur.onListContinuationElement699(stack["end"]) } -func (c *current) onExtraListElement716() (interface{}, error) { +func (c *current) onListContinuationElement709() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonExtraListElement716() (interface{}, error) { +func (p *parser) callonListContinuationElement709() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement716() + return p.cur.onListContinuationElement709() } -func (c *current) onExtraListElement719() (interface{}, error) { +func (c *current) onListContinuationElement713() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement719() (interface{}, error) { +func (p *parser) callonListContinuationElement713() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement719() + return p.cur.onListContinuationElement713() } -func (c *current) onExtraListElement707(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement703(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement707() (interface{}, error) { +func (p *parser) callonListContinuationElement703() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement707(stack["delimiter"]) + return p.cur.onListContinuationElement703(stack["content"]) } -func (c *current) onExtraListElement729() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onListContinuationElement674(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExtraListElement729() (interface{}, error) { +func (p *parser) callonListContinuationElement674() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement729() + return p.cur.onListContinuationElement674(stack["line"]) } -func (c *current) onExtraListElement735() (interface{}, error) { +func (c *current) onListContinuationElement728() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement735() (interface{}, error) { +func (p *parser) callonListContinuationElement728() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement735() + return p.cur.onListContinuationElement728() } -func (c *current) onExtraListElement738() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement734() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonExtraListElement738() (interface{}, error) { +func (p *parser) callonListContinuationElement734() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement738() + return p.cur.onListContinuationElement734() } -func (c *current) onExtraListElement726(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) - +func (c *current) onListContinuationElement737() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonExtraListElement726() (interface{}, error) { +func (p *parser) callonListContinuationElement737() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement726(stack["delimiter"]) + return p.cur.onListContinuationElement737() } -func (c *current) onExtraListElement748() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement725(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement748() (interface{}, error) { +func (p *parser) callonListContinuationElement725() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement748() + return p.cur.onListContinuationElement725(stack["delimiter"]) } -func (c *current) onExtraListElement754() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement744(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement754() (interface{}, error) { +func (p *parser) callonListContinuationElement744() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement754() + return p.cur.onListContinuationElement744(stack["end"]) } -func (c *current) onExtraListElement757() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement649(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Listing, content.([]interface{})) + } -func (p *parser) callonExtraListElement757() (interface{}, error) { +func (p *parser) callonListContinuationElement649() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement757() + return p.cur.onListContinuationElement649(stack["start"], stack["content"], stack["end"]) } -func (c *current) onExtraListElement745(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement753() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonExtraListElement745() (interface{}, error) { +func (p *parser) callonListContinuationElement753() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement745(stack["delimiter"]) + return p.cur.onListContinuationElement753() } -func (c *current) onExtraListElement767() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onListContinuationElement759() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement767() (interface{}, error) { +func (p *parser) callonListContinuationElement759() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement767() + return p.cur.onListContinuationElement759() } -func (c *current) onExtraListElement773() (interface{}, error) { +func (c *current) onListContinuationElement762() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonExtraListElement773() (interface{}, error) { +func (p *parser) callonListContinuationElement762() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement773() + return p.cur.onListContinuationElement762() } -func (c *current) onExtraListElement776() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement750(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonExtraListElement776() (interface{}, error) { +func (p *parser) callonListContinuationElement750() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement776() + return p.cur.onListContinuationElement750(stack["delimiter"]) } -func (c *current) onExtraListElement764(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement769(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement764() (interface{}, error) { +func (p *parser) callonListContinuationElement769() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement764(stack["delimiter"]) + return p.cur.onListContinuationElement769(stack["start"]) } -func (c *current) onExtraListElement786() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onListContinuationElement781() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonExtraListElement786() (interface{}, error) { +func (p *parser) callonListContinuationElement781() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement786() + return p.cur.onListContinuationElement781() } -func (c *current) onExtraListElement792() (interface{}, error) { +func (c *current) onListContinuationElement787() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement792() (interface{}, error) { +func (p *parser) callonListContinuationElement787() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement792() + return p.cur.onListContinuationElement787() } -func (c *current) onExtraListElement795() (interface{}, error) { +func (c *current) onListContinuationElement790() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement795() (interface{}, error) { +func (p *parser) callonListContinuationElement790() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement795() + return p.cur.onListContinuationElement790() } -func (c *current) onExtraListElement783(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement778(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonExtraListElement783() (interface{}, error) { +func (p *parser) callonListContinuationElement778() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement783(stack["delimiter"]) + return p.cur.onListContinuationElement778(stack["delimiter"]) } -func (c *current) onExtraListElement626(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onListContinuationElement797(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonExtraListElement626() (interface{}, error) { +func (p *parser) callonListContinuationElement797() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement626(stack["delimiter"]) + return p.cur.onListContinuationElement797(stack["end"]) } -func (c *current) onExtraListElement803() (interface{}, error) { +func (c *current) onListContinuationElement807() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonExtraListElement803() (interface{}, error) { +func (p *parser) callonListContinuationElement807() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement803() + return p.cur.onListContinuationElement807() } -func (c *current) onExtraListElement807() (interface{}, error) { +func (c *current) onListContinuationElement811() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonExtraListElement807() (interface{}, error) { +func (p *parser) callonListContinuationElement811() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement807() + return p.cur.onListContinuationElement811() } -func (c *current) onExtraListElement496(content interface{}) (interface{}, error) { - // do not retain the EOL chars +func (c *current) onListContinuationElement801(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonExtraListElement496() (interface{}, error) { +func (p *parser) callonListContinuationElement801() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement496(stack["content"]) + return p.cur.onListContinuationElement801(stack["content"]) } -func (c *current) onExtraListElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onListContinuationElement772(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonExtraListElement1() (interface{}, error) { +func (p *parser) callonListContinuationElement772() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onExtraListElement1(stack["element"]) + return p.cur.onListContinuationElement772(stack["line"]) } -func (c *current) onListContinuation7() (interface{}, error) { +func (c *current) onListContinuationElement826() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonListContinuation7() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuation7() -} - -func (c *current) onListContinuation9() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil -} - -func (p *parser) callonListContinuation9() (interface{}, error) { +func (p *parser) callonListContinuationElement826() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation9() + return p.cur.onListContinuationElement826() } -func (c *current) onListContinuation16() (interface{}, error) { +func (c *current) onListContinuationElement832() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuation16() (interface{}, error) { +func (p *parser) callonListContinuationElement832() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation16() + return p.cur.onListContinuationElement832() } -func (c *current) onListContinuation18(offset interface{}) (interface{}, error) { +func (c *current) onListContinuationElement835() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuation18() (interface{}, error) { +func (p *parser) callonListContinuationElement835() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation18(stack["offset"]) + return p.cur.onListContinuationElement835() } -func (c *current) onListContinuation1(offset, element interface{}) (interface{}, error) { - return types.NewListContinuation(len(offset.([]interface{})), element) +func (c *current) onListContinuationElement823(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuation1() (interface{}, error) { +func (p *parser) callonListContinuationElement823() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuation1(stack["offset"], stack["element"]) + return p.cur.onListContinuationElement823(stack["delimiter"]) } -func (c *current) onListContinuationElement14() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement842(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement14() (interface{}, error) { +func (p *parser) callonListContinuationElement842() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement14() + return p.cur.onListContinuationElement842(stack["end"]) } -func (c *current) onListContinuationElement21() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onListContinuationElement747(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Literal, content.([]interface{})) } -func (p *parser) callonListContinuationElement21() (interface{}, error) { +func (p *parser) callonListContinuationElement747() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement21() + return p.cur.onListContinuationElement747(stack["start"], stack["content"], stack["end"]) } -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) onListContinuationElement857() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement24() (bool, error) { +func (p *parser) callonListContinuationElement857() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement24(stack["depth"]) + return p.cur.onListContinuationElement857() } -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) onListContinuationElement860() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement18() (interface{}, error) { +func (p *parser) callonListContinuationElement860() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement18(stack["depth"]) + return p.cur.onListContinuationElement860() } -func (c *current) onListContinuationElement25() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onListContinuationElement851() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListContinuationElement25() (interface{}, error) { +func (p *parser) callonListContinuationElement851() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement25() + return p.cur.onListContinuationElement851() } -func (c *current) onListContinuationElement30() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onListContinuationElement869() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement30() (interface{}, error) { +func (p *parser) callonListContinuationElement869() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement30() + return p.cur.onListContinuationElement869() } -func (c *current) onListContinuationElement34() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) - +func (c *current) onListContinuationElement873() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement34() (interface{}, error) { +func (p *parser) callonListContinuationElement873() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement34() + return p.cur.onListContinuationElement873() } -func (c *current) onListContinuationElement38() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onListContinuationElement848(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement38() (interface{}, error) { +func (p *parser) callonListContinuationElement848() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement38() + return p.cur.onListContinuationElement848(stack["content"]) } -func (c *current) onListContinuationElement43() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onListContinuationElement892() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement43() (interface{}, error) { +func (p *parser) callonListContinuationElement892() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement43() + return p.cur.onListContinuationElement892() } -func (c *current) onListContinuationElement48(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement895() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement48() (interface{}, error) { +func (p *parser) callonListContinuationElement895() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement48(stack["prefix"]) + return p.cur.onListContinuationElement895() } -func (c *current) onListContinuationElement11(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onListContinuationElement886() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListContinuationElement11() (interface{}, error) { +func (p *parser) callonListContinuationElement886() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement11(stack["prefix"]) + return p.cur.onListContinuationElement886() } -func (c *current) onListContinuationElement56() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement904() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement56() (interface{}, error) { +func (p *parser) callonListContinuationElement904() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement56() + return p.cur.onListContinuationElement904() } -func (c *current) onListContinuationElement60() (interface{}, error) { +func (c *current) onListContinuationElement908() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement60() (interface{}, error) { +func (p *parser) callonListContinuationElement908() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement60() + return p.cur.onListContinuationElement908() } -func (c *current) onListContinuationElement52(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) +func (c *current) onListContinuationElement883(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement52() (interface{}, error) { +func (p *parser) callonListContinuationElement883() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement52(stack["rawlines"]) + return p.cur.onListContinuationElement883(stack["content"]) } -func (c *current) onListContinuationElement8(prefix, content interface{}) (interface{}, error) { - return types.NewOrderedListElement(prefix.(types.OrderedListElementPrefix), content) +func (c *current) onListContinuationElement918() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement8() (interface{}, error) { +func (p *parser) callonListContinuationElement918() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement8(stack["prefix"], stack["content"]) + return p.cur.onListContinuationElement918() } -func (c *current) onListContinuationElement73() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement921(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonListContinuationElement73() (interface{}, error) { +func (p *parser) callonListContinuationElement921() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement73() + return p.cur.onListContinuationElement921(stack["content"]) } -func (c *current) onListContinuationElement76() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onListContinuationElement923() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement76() (interface{}, error) { +func (p *parser) callonListContinuationElement923() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement76() + return p.cur.onListContinuationElement923() } -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) onListContinuationElement915(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement81() (bool, error) { +func (p *parser) callonListContinuationElement915() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement81(stack["style"]) + return p.cur.onListContinuationElement915(stack["content"]) } -func (c *current) onListContinuationElement82(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListContinuationElement845(firstLine, otherLines interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) } -func (p *parser) callonListContinuationElement82() (interface{}, error) { +func (p *parser) callonListContinuationElement845() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement82(stack["style"]) + return p.cur.onListContinuationElement845(stack["firstLine"], stack["otherLines"]) } -func (c *current) onListContinuationElement70(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +func (c *current) onListContinuationElement936() (interface{}, error) { + // sequence of exactly "--" + return string(c.text), nil } -func (p *parser) callonListContinuationElement70() (interface{}, error) { +func (p *parser) callonListContinuationElement936() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement70(stack["style"]) + return p.cur.onListContinuationElement936() } -func (c *current) onListContinuationElement93() (interface{}, error) { - return types.Unchecked, nil +func (c *current) onListContinuationElement939() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement93() (interface{}, error) { +func (p *parser) callonListContinuationElement939() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement93() + return p.cur.onListContinuationElement939() } -func (c *current) onListContinuationElement95() (interface{}, error) { - return types.Checked, nil +func (c *current) onListContinuationElement942() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement95() (interface{}, error) { +func (p *parser) callonListContinuationElement942() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement95() + return p.cur.onListContinuationElement942() } -func (c *current) onListContinuationElement97() (interface{}, error) { - return types.Checked, nil +func (c *current) onListContinuationElement933(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement97() (interface{}, error) { +func (p *parser) callonListContinuationElement933() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement97() + return p.cur.onListContinuationElement933(stack["delimiter"]) } -func (c *current) onListContinuationElement99(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement958() (interface{}, error) { + // sequence of exactly "--" return string(c.text), nil } -func (p *parser) callonListContinuationElement99() (interface{}, error) { +func (p *parser) callonListContinuationElement958() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement99(stack["style"]) + return p.cur.onListContinuationElement958() } -func (c *current) onListContinuationElement87(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onListContinuationElement961() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement87() (interface{}, error) { +func (p *parser) callonListContinuationElement961() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement87(stack["style"]) + return p.cur.onListContinuationElement961() } -func (c *current) onListContinuationElement107() (interface{}, error) { - return types.NewRawLine(string(c.text)) - +func (c *current) onListContinuationElement964() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement107() (interface{}, error) { +func (p *parser) callonListContinuationElement964() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement107() + return p.cur.onListContinuationElement964() } -func (c *current) onListContinuationElement111() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement955(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement111() (interface{}, error) { +func (p *parser) callonListContinuationElement955() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement111() + return p.cur.onListContinuationElement955(stack["delimiter"]) } -func (c *current) onListContinuationElement103(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) +func (c *current) onListContinuationElement980() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement103() (interface{}, error) { +func (p *parser) callonListContinuationElement980() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement103(stack["rawlines"]) + return p.cur.onListContinuationElement980() } -func (c *current) onListContinuationElement67(prefix, checkstyle, content interface{}) (interface{}, error) { - return types.NewUnorderedListElement(prefix.(types.UnorderedListElementPrefix), checkstyle, content) - +func (c *current) onListContinuationElement984() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement67() (interface{}, error) { +func (p *parser) callonListContinuationElement984() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement67(stack["prefix"], stack["checkstyle"], stack["content"]) + return p.cur.onListContinuationElement984() } -func (c *current) onListContinuationElement125() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onListContinuationElement974(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + } -func (p *parser) callonListContinuationElement125() (interface{}, error) { +func (p *parser) callonListContinuationElement974() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement125() + return p.cur.onListContinuationElement974(stack["content"]) } -func (c *current) onListContinuationElement129(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onListContinuationElement951(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement129() (interface{}, error) { +func (p *parser) callonListContinuationElement951() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement129(stack["ref"]) + return p.cur.onListContinuationElement951(stack["line"]) } -func (c *current) onListContinuationElement121(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onListContinuationElement997() (interface{}, error) { + // sequence of exactly "--" + return string(c.text), nil } -func (p *parser) callonListContinuationElement121() (interface{}, error) { +func (p *parser) callonListContinuationElement997() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement121(stack["ref"]) + return p.cur.onListContinuationElement997() } -func (c *current) onListContinuationElement137() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement1000() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement137() (interface{}, error) { +func (p *parser) callonListContinuationElement1000() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement137() + return p.cur.onListContinuationElement1000() } -func (c *current) onListContinuationElement141() (interface{}, error) { +func (c *current) onListContinuationElement1003() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement141() (interface{}, error) { +func (p *parser) callonListContinuationElement1003() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement141() + return p.cur.onListContinuationElement1003() } -func (c *current) onListContinuationElement133(rawlines interface{}) (interface{}, error) { - return types.NewParagraph(nil, rawlines.([]interface{})...) +func (c *current) onListContinuationElement994(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement133() (interface{}, error) { +func (p *parser) callonListContinuationElement994() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement133(stack["rawlines"]) + return p.cur.onListContinuationElement994(stack["delimiter"]) } -func (c *current) onListContinuationElement118(ref, description interface{}) (interface{}, error) { - return types.NewCalloutListElement(ref.(int), description.(*types.Paragraph)) +func (c *current) onListContinuationElement930(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Open, content.([]interface{})) } -func (p *parser) callonListContinuationElement118() (interface{}, error) { +func (p *parser) callonListContinuationElement930() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement118(stack["ref"], stack["description"]) + return p.cur.onListContinuationElement930(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListContinuationElement158() (interface{}, error) { - +func (c *current) onListContinuationElement1018() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement158() (interface{}, error) { +func (p *parser) callonListContinuationElement1018() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement158() + return p.cur.onListContinuationElement1018() } -func (c *current) onListContinuationElement161(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) onListContinuationElement1024() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement161() (bool, error) { +func (p *parser) callonListContinuationElement1024() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement161(stack["separator"]) + return p.cur.onListContinuationElement1024() } -func (c *current) onListContinuationElement155(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onListContinuationElement1027() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement155() (interface{}, error) { +func (p *parser) callonListContinuationElement1027() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement155(stack["separator"]) + return p.cur.onListContinuationElement1027() } -func (c *current) onListContinuationElement164() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1015(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement164() (interface{}, error) { +func (p *parser) callonListContinuationElement1015() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement164() + return p.cur.onListContinuationElement1015(stack["delimiter"]) } -func (c *current) onListContinuationElement151() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onListContinuationElement1034(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement151() (interface{}, error) { +func (p *parser) callonListContinuationElement1034() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement151() + return p.cur.onListContinuationElement1034(stack["start"]) } -func (c *current) onListContinuationElement176() (interface{}, error) { - +func (c *current) onListContinuationElement1046() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement176() (interface{}, error) { +func (p *parser) callonListContinuationElement1046() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement176() + return p.cur.onListContinuationElement1046() } -func (c *current) onListContinuationElement179(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) onListContinuationElement1052() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement179() (bool, error) { +func (p *parser) callonListContinuationElement1052() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement179(stack["separator"]) + return p.cur.onListContinuationElement1052() } -func (c *current) onListContinuationElement173(separator interface{}) (interface{}, error) { - return separator, nil - +func (c *current) onListContinuationElement1055() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement173() (interface{}, error) { +func (p *parser) callonListContinuationElement1055() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement173(stack["separator"]) + return p.cur.onListContinuationElement1055() } -func (c *current) onListContinuationElement185() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1043(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement185() (interface{}, error) { +func (p *parser) callonListContinuationElement1043() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement185() + return p.cur.onListContinuationElement1043(stack["delimiter"]) } -func (c *current) onListContinuationElement188() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1062(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) + } -func (p *parser) callonListContinuationElement188() (interface{}, error) { +func (p *parser) callonListContinuationElement1062() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement188() + return p.cur.onListContinuationElement1062(stack["end"]) } -func (c *current) onListContinuationElement202() (interface{}, error) { +func (c *current) onListContinuationElement1072() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement202() (interface{}, error) { +func (p *parser) callonListContinuationElement1072() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement202() + return p.cur.onListContinuationElement1072() } -func (c *current) onListContinuationElement205() (interface{}, error) { +func (c *current) onListContinuationElement1076() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement205() (interface{}, error) { +func (p *parser) callonListContinuationElement1076() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement205() + return p.cur.onListContinuationElement1076() } -func (c *current) onListContinuationElement196() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListContinuationElement1066(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement196() (interface{}, error) { +func (p *parser) callonListContinuationElement1066() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement196() + return p.cur.onListContinuationElement1066(stack["content"]) } -func (c *current) onListContinuationElement182() (interface{}, error) { - return nil, nil +func (c *current) onListContinuationElement1037(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement182() (interface{}, error) { +func (p *parser) callonListContinuationElement1037() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement182() + return p.cur.onListContinuationElement1037(stack["line"]) } -func (c *current) onListContinuationElement214() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onListContinuationElement1091() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement214() (interface{}, error) { +func (p *parser) callonListContinuationElement1091() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement214() + return p.cur.onListContinuationElement1091() } -func (c *current) onListContinuationElement218() (interface{}, error) { - return types.NewRawLine(string(c.text)) +func (c *current) onListContinuationElement1097() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement218() (interface{}, error) { +func (p *parser) callonListContinuationElement1097() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement218() + return p.cur.onListContinuationElement1097() } -func (c *current) onListContinuationElement222() (interface{}, error) { +func (c *current) onListContinuationElement1100() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement222() (interface{}, error) { +func (p *parser) callonListContinuationElement1100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement222() + return p.cur.onListContinuationElement1100() } -func (c *current) onListContinuationElement212(content interface{}) (interface{}, error) { - return types.NewParagraph(nil, content) +func (c *current) onListContinuationElement1088(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement212() (interface{}, error) { +func (p *parser) callonListContinuationElement1088() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement212(stack["content"]) + return p.cur.onListContinuationElement1088(stack["delimiter"]) } -func (c *current) onListContinuationElement148(term, separator, description interface{}) (interface{}, error) { - return types.NewLabeledListElement(len(separator.(string))-1, term, description) +func (c *current) onListContinuationElement1107(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement148() (interface{}, error) { +func (p *parser) callonListContinuationElement1107() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement148(stack["term"], stack["separator"], stack["description"]) + return p.cur.onListContinuationElement1107(stack["end"]) } -func (c *current) onListContinuationElement240() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1012(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) } -func (p *parser) callonListContinuationElement240() (interface{}, error) { +func (p *parser) callonListContinuationElement1012() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement240() + return p.cur.onListContinuationElement1012(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListContinuationElement243() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1116() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil -} - -func (p *parser) callonListContinuationElement243() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement243() -} - -func (c *current) onListContinuationElement234() (interface{}, error) { - return types.NewBlankLine() } -func (p *parser) callonListContinuationElement234() (interface{}, error) { +func (p *parser) callonListContinuationElement1116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement234() + return p.cur.onListContinuationElement1116() } -func (c *current) onListContinuationElement255() (interface{}, error) { +func (c *current) onListContinuationElement1122() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement255() (interface{}, error) { +func (p *parser) callonListContinuationElement1122() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement255() + return p.cur.onListContinuationElement1122() } -func (c *current) onListContinuationElement262() (interface{}, error) { +func (c *current) onListContinuationElement1125() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement262() (interface{}, error) { +func (p *parser) callonListContinuationElement1125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement262() + return p.cur.onListContinuationElement1125() } -func (c *current) onListContinuationElement265() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1113(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement265() (interface{}, error) { +func (p *parser) callonListContinuationElement1113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement265() + return p.cur.onListContinuationElement1113(stack["delimiter"]) } -func (c *current) onListContinuationElement251(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onListContinuationElement1132(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement251() (interface{}, error) { +func (p *parser) callonListContinuationElement1132() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement251(stack["name"]) + return p.cur.onListContinuationElement1132(stack["start"]) } -func (c *current) onListContinuationElement276() (interface{}, error) { +func (c *current) onListContinuationElement1144() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement276() (interface{}, error) { +func (p *parser) callonListContinuationElement1144() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement276() + return p.cur.onListContinuationElement1144() } -func (c *current) onListContinuationElement283() (interface{}, error) { +func (c *current) onListContinuationElement1150() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement283() (interface{}, error) { +func (p *parser) callonListContinuationElement1150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement283() + return p.cur.onListContinuationElement1150() } -func (c *current) onListContinuationElement286() (interface{}, error) { +func (c *current) onListContinuationElement1153() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement286() (interface{}, error) { +func (p *parser) callonListContinuationElement1153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement286() + return p.cur.onListContinuationElement1153() } -func (c *current) onListContinuationElement272(name interface{}) (interface{}, error) { - return types.NewAttributeReset(name.(string), string(c.text)) +func (c *current) onListContinuationElement1141(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement272() (interface{}, error) { +func (p *parser) callonListContinuationElement1141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement272(stack["name"]) + return p.cur.onListContinuationElement1141(stack["delimiter"]) } -func (c *current) onListContinuationElement298() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement1160(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement298() (interface{}, error) { +func (p *parser) callonListContinuationElement1160() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement298() + return p.cur.onListContinuationElement1160(stack["end"]) } -func (c *current) onListContinuationElement304() (interface{}, error) { +func (c *current) onListContinuationElement1170() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement304() (interface{}, error) { +func (p *parser) callonListContinuationElement1170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement304() + return p.cur.onListContinuationElement1170() } -func (c *current) onListContinuationElement307() (interface{}, error) { +func (c *current) onListContinuationElement1174() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement307() (interface{}, error) { +func (p *parser) callonListContinuationElement1174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement307() + return p.cur.onListContinuationElement1174() } -func (c *current) onListContinuationElement295(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1164(content interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement295() (interface{}, error) { +func (p *parser) callonListContinuationElement1164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement295(stack["delimiter"]) + return p.cur.onListContinuationElement1164(stack["content"]) } -func (c *current) onListContinuationElement323() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement1135(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement323() (interface{}, error) { +func (p *parser) callonListContinuationElement1135() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement323() + return p.cur.onListContinuationElement1135(stack["line"]) } -func (c *current) onListContinuationElement329() (interface{}, error) { +func (c *current) onListContinuationElement1189() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement329() (interface{}, error) { +func (p *parser) callonListContinuationElement1189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement329() + return p.cur.onListContinuationElement1189() } -func (c *current) onListContinuationElement332() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1195() (interface{}, error) { return string(c.text), nil -} - -func (p *parser) callonListContinuationElement332() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement332() -} - -func (c *current) onListContinuationElement320(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement320() (interface{}, error) { +func (p *parser) callonListContinuationElement1195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement320(stack["delimiter"]) + return p.cur.onListContinuationElement1195() } -func (c *current) onListContinuationElement348() (interface{}, error) { - +func (c *current) onListContinuationElement1198() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement348() (interface{}, error) { +func (p *parser) callonListContinuationElement1198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement348() + return p.cur.onListContinuationElement1198() } -func (c *current) onListContinuationElement352() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1186(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement352() (interface{}, error) { +func (p *parser) callonListContinuationElement1186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement352() + return p.cur.onListContinuationElement1186(stack["delimiter"]) } -func (c *current) onListContinuationElement342(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onListContinuationElement1205(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement342() (interface{}, error) { +func (p *parser) callonListContinuationElement1205() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement342(stack["content"]) + return p.cur.onListContinuationElement1205(stack["end"]) } -func (c *current) onListContinuationElement316(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListContinuationElement1110(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Quote, content.([]interface{})) } -func (p *parser) callonListContinuationElement316() (interface{}, error) { +func (p *parser) callonListContinuationElement1110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement316(stack["line"]) + return p.cur.onListContinuationElement1110(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListContinuationElement364() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onListContinuationElement1214() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement364() (interface{}, error) { +func (p *parser) callonListContinuationElement1214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement364() + return p.cur.onListContinuationElement1214() } -func (c *current) onListContinuationElement370() (interface{}, error) { +func (c *current) onListContinuationElement1220() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement370() (interface{}, error) { +func (p *parser) callonListContinuationElement1220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement370() + return p.cur.onListContinuationElement1220() } -func (c *current) onListContinuationElement373() (interface{}, error) { +func (c *current) onListContinuationElement1223() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement373() (interface{}, error) { +func (p *parser) callonListContinuationElement1223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement373() + return p.cur.onListContinuationElement1223() } -func (c *current) onListContinuationElement361(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1211(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement361() (interface{}, error) { +func (p *parser) callonListContinuationElement1211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement361(stack["delimiter"]) + return p.cur.onListContinuationElement1211(stack["delimiter"]) } -func (c *current) onListContinuationElement293(delimiter, content interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Comment, content.([]interface{})) +func (c *current) onListContinuationElement1230(start interface{}) (bool, error) { + return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement293() (interface{}, error) { +func (p *parser) callonListContinuationElement1230() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement293(stack["delimiter"], stack["content"]) + return p.cur.onListContinuationElement1230(stack["start"]) } -func (c *current) onListContinuationElement388() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onListContinuationElement1242() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement388() (interface{}, error) { +func (p *parser) callonListContinuationElement1242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement388() + return p.cur.onListContinuationElement1242() } -func (c *current) onListContinuationElement394() (interface{}, error) { +func (c *current) onListContinuationElement1248() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement394() (interface{}, error) { +func (p *parser) callonListContinuationElement1248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement394() + return p.cur.onListContinuationElement1248() } -func (c *current) onListContinuationElement397() (interface{}, error) { +func (c *current) onListContinuationElement1251() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement397() (interface{}, error) { +func (p *parser) callonListContinuationElement1251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement397() + return p.cur.onListContinuationElement1251() } -func (c *current) onListContinuationElement385(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1239(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement385() (interface{}, error) { +func (p *parser) callonListContinuationElement1239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement385(stack["delimiter"]) + return p.cur.onListContinuationElement1239(stack["delimiter"]) } -func (c *current) onListContinuationElement404(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1258(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement404() (bool, error) { +func (p *parser) callonListContinuationElement1258() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement404(stack["start"]) + return p.cur.onListContinuationElement1258(stack["end"]) } -func (c *current) onListContinuationElement416() (interface{}, error) { - // sequence of 4 "=" chars or more +func (c *current) onListContinuationElement1268() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement416() (interface{}, error) { +func (p *parser) callonListContinuationElement1268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement416() + return p.cur.onListContinuationElement1268() } -func (c *current) onListContinuationElement422() (interface{}, error) { +func (c *current) onListContinuationElement1272() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement422() (interface{}, error) { +func (p *parser) callonListContinuationElement1272() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement422() + return p.cur.onListContinuationElement1272() } -func (c *current) onListContinuationElement425() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1262(content interface{}) (interface{}, error) { + + return types.NewRawLine(content.(string)) + } -func (p *parser) callonListContinuationElement425() (interface{}, error) { +func (p *parser) callonListContinuationElement1262() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement425() + return p.cur.onListContinuationElement1262(stack["content"]) } -func (c *current) onListContinuationElement413(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement1233(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement413() (interface{}, error) { +func (p *parser) callonListContinuationElement1233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement413(stack["delimiter"]) + return p.cur.onListContinuationElement1233(stack["line"]) } -func (c *current) onListContinuationElement432(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1287() (interface{}, error) { + // sequence of 4 "*" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement432() (bool, error) { +func (p *parser) callonListContinuationElement1287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement432(stack["end"]) + return p.cur.onListContinuationElement1287() } -func (c *current) onListContinuationElement442() (interface{}, error) { - +func (c *current) onListContinuationElement1293() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement442() (interface{}, error) { +func (p *parser) callonListContinuationElement1293() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement442() + return p.cur.onListContinuationElement1293() } -func (c *current) onListContinuationElement446() (interface{}, error) { +func (c *current) onListContinuationElement1296() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement446() (interface{}, error) { +func (p *parser) callonListContinuationElement1296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement446() + return p.cur.onListContinuationElement1296() } -func (c *current) onListContinuationElement436(content interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1284(delimiter interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement436() (interface{}, error) { +func (p *parser) callonListContinuationElement1284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement436(stack["content"]) + return p.cur.onListContinuationElement1284(stack["delimiter"]) } -func (c *current) onListContinuationElement407(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListContinuationElement1303(end interface{}) (bool, error) { + return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) } -func (p *parser) callonListContinuationElement407() (interface{}, error) { +func (p *parser) callonListContinuationElement1303() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement407(stack["line"]) + return p.cur.onListContinuationElement1303(stack["end"]) } -func (c *current) onListContinuationElement461() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement1208(start, content, end interface{}) (interface{}, error) { + return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) } -func (p *parser) callonListContinuationElement461() (interface{}, error) { +func (p *parser) callonListContinuationElement1208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement461() + return p.cur.onListContinuationElement1208(stack["start"], stack["content"], stack["end"]) } -func (c *current) onListContinuationElement467() (interface{}, error) { +func (c *current) onListContinuationElement1317() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement467() (interface{}, error) { +func (p *parser) callonListContinuationElement1317() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement467() + return p.cur.onListContinuationElement1317() } -func (c *current) onListContinuationElement470() (interface{}, error) { +func (c *current) onListContinuationElement1320() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement470() (interface{}, error) { +func (p *parser) callonListContinuationElement1320() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement470() + return p.cur.onListContinuationElement1320() } -func (c *current) onListContinuationElement458(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) - +func (c *current) onListContinuationElement1328() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement458() (interface{}, error) { +func (p *parser) callonListContinuationElement1328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement458(stack["delimiter"]) + return p.cur.onListContinuationElement1328() } -func (c *current) onListContinuationElement477(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1306() (interface{}, error) { + + return types.NewThematicBreak() } -func (p *parser) callonListContinuationElement477() (bool, error) { +func (p *parser) callonListContinuationElement1306() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement477(stack["end"]) + return p.cur.onListContinuationElement1306() } -func (c *current) onListContinuationElement382(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Example, content.([]interface{})) +func (c *current) onListContinuationElement1340() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement382() (interface{}, error) { +func (p *parser) callonListContinuationElement1340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement382(stack["start"], stack["content"], stack["end"]) + return p.cur.onListContinuationElement1340() } -func (c *current) onListContinuationElement487() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onListContinuationElement1343() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement487() (interface{}, error) { +func (p *parser) callonListContinuationElement1343() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement487() + return p.cur.onListContinuationElement1343() } -func (c *current) onListContinuationElement491() (interface{}, error) { +func (c *current) onListContinuationElement1359() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement491() (interface{}, error) { +func (p *parser) callonListContinuationElement1359() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement491() + return p.cur.onListContinuationElement1359() } -func (c *current) onListContinuationElement494() (interface{}, error) { +func (c *current) onListContinuationElement1362() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement494() (interface{}, error) { +func (p *parser) callonListContinuationElement1362() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement494() + return p.cur.onListContinuationElement1362() } -func (c *current) onListContinuationElement483(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onListContinuationElement1353() (interface{}, error) { + return types.NewBlankLine() + } -func (p *parser) callonListContinuationElement483() (interface{}, error) { +func (p *parser) callonListContinuationElement1353() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement483(stack["language"]) + return p.cur.onListContinuationElement1353() } -func (c *current) onListContinuationElement509() (interface{}, error) { +func (c *current) onListContinuationElement1376() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement509() (interface{}, error) { +func (p *parser) callonListContinuationElement1376() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement509() + return p.cur.onListContinuationElement1376() } -func (c *current) onListContinuationElement512() (interface{}, error) { +func (c *current) onListContinuationElement1379() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement512() (interface{}, error) { +func (p *parser) callonListContinuationElement1379() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement512() + return p.cur.onListContinuationElement1379() } -func (c *current) onListContinuationElement526() (interface{}, error) { - +func (c *current) onListContinuationElement1401() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement526() (interface{}, error) { +func (p *parser) callonListContinuationElement1401() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement526() + return p.cur.onListContinuationElement1401() } -func (c *current) onListContinuationElement530() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1406() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement530() (interface{}, error) { +func (p *parser) callonListContinuationElement1406() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement530() + return p.cur.onListContinuationElement1406() } -func (c *current) onListContinuationElement520(content interface{}) (interface{}, error) { - +func (c *current) onListContinuationElement1404(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement520() (interface{}, error) { +func (p *parser) callonListContinuationElement1404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement520(stack["content"]) + return p.cur.onListContinuationElement1404(stack["content"]) } -func (c *current) onListContinuationElement503(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListContinuationElement1397(content interface{}) (interface{}, error) { + return types.NewInlineTableCell(content.(types.RawLine)) } -func (p *parser) callonListContinuationElement503() (interface{}, error) { +func (p *parser) callonListContinuationElement1397() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement503(stack["line"]) + return p.cur.onListContinuationElement1397(stack["content"]) } -func (c *current) onListContinuationElement541() (interface{}, error) { +func (c *current) onListContinuationElement1410() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement541() (interface{}, error) { +func (p *parser) callonListContinuationElement1410() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement541() + return p.cur.onListContinuationElement1410() } -func (c *current) onListContinuationElement544() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1393(cells interface{}) (interface{}, error) { + + return cells, nil } -func (p *parser) callonListContinuationElement544() (interface{}, error) { +func (p *parser) callonListContinuationElement1393() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement544() + return p.cur.onListContinuationElement1393(stack["cells"]) } -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) onListContinuationElement1427() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement480() (interface{}, error) { +func (p *parser) callonListContinuationElement1427() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement480(stack["delimiter"], stack["content"]) + return p.cur.onListContinuationElement1427() } -func (c *current) onListContinuationElement557() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onListContinuationElement1430() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement557() (interface{}, error) { +func (p *parser) callonListContinuationElement1430() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement557() + return p.cur.onListContinuationElement1430() } -func (c *current) onListContinuationElement563() (interface{}, error) { +func (c *current) onListContinuationElement1446() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement563() (interface{}, error) { +func (p *parser) callonListContinuationElement1446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement563() + return p.cur.onListContinuationElement1446() } -func (c *current) onListContinuationElement566() (interface{}, error) { +func (c *current) onListContinuationElement1449() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement566() (interface{}, error) { +func (p *parser) callonListContinuationElement1449() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement566() + return p.cur.onListContinuationElement1449() } -func (c *current) onListContinuationElement554(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1440() (interface{}, error) { + return types.NewBlankLine() - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +} +func (p *parser) callonListContinuationElement1440() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1440() } -func (p *parser) callonListContinuationElement554() (interface{}, error) { +func (c *current) onListContinuationElement1458() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonListContinuationElement1458() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement554(stack["delimiter"]) + return p.cur.onListContinuationElement1458() } -func (c *current) onListContinuationElement573(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1463() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement573() (bool, error) { +func (p *parser) callonListContinuationElement1463() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement573(stack["start"]) + return p.cur.onListContinuationElement1463() } -func (c *current) onListContinuationElement585() (interface{}, error) { - // sequence of 3 "`" chars or more +func (c *current) onListContinuationElement1466() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement585() (interface{}, error) { +func (p *parser) callonListContinuationElement1466() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement585() + return p.cur.onListContinuationElement1466() } -func (c *current) onListContinuationElement591() (interface{}, error) { +func (c *current) onListContinuationElement1480() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement591() (interface{}, error) { +func (p *parser) callonListContinuationElement1480() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement591() + return p.cur.onListContinuationElement1480() } -func (c *current) onListContinuationElement594() (interface{}, error) { +func (c *current) onListContinuationElement1483() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement594() (interface{}, error) { +func (p *parser) callonListContinuationElement1483() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement594() + return p.cur.onListContinuationElement1483() } -func (c *current) onListContinuationElement582(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1499() (interface{}, error) { + return string(c.text), nil - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +} + +func (p *parser) callonListContinuationElement1499() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1499() +} +func (c *current) onListContinuationElement1502() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement582() (interface{}, error) { +func (p *parser) callonListContinuationElement1502() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement582(stack["delimiter"]) + return p.cur.onListContinuationElement1502() } -func (c *current) onListContinuationElement601(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1493() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListContinuationElement601() (bool, error) { +func (p *parser) callonListContinuationElement1493() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement601(stack["end"]) + return p.cur.onListContinuationElement1493() } -func (c *current) onListContinuationElement611() (interface{}, error) { +func (c *current) onListContinuationElement1513() (interface{}, error) { + return string(c.text), nil +} + +func (p *parser) callonListContinuationElement1513() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1513() +} +func (c *current) onListContinuationElement1518() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement611() (interface{}, error) { +func (p *parser) callonListContinuationElement1518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement611() + return p.cur.onListContinuationElement1518() } -func (c *current) onListContinuationElement615() (interface{}, error) { +func (c *current) onListContinuationElement1523() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement615() (interface{}, error) { +func (p *parser) callonListContinuationElement1523() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement615() + return p.cur.onListContinuationElement1523() } -func (c *current) onListContinuationElement605(content interface{}) (interface{}, error) { - +func (c *current) onListContinuationElement1473(content interface{}) (interface{}, error) { return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement605() (interface{}, error) { +func (p *parser) callonListContinuationElement1473() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement605(stack["content"]) + return p.cur.onListContinuationElement1473(stack["content"]) } -func (c *current) onListContinuationElement576(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListContinuationElement1420(format, content interface{}) (interface{}, error) { + return types.NewMultilineTableCell(content.([]interface{}), format) } -func (p *parser) callonListContinuationElement576() (interface{}, error) { +func (p *parser) callonListContinuationElement1420() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement576(stack["line"]) + return p.cur.onListContinuationElement1420(stack["format"], stack["content"]) } -func (c *current) onListContinuationElement630() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement1417(cells interface{}) (interface{}, error) { + return cells, nil +} + +func (p *parser) callonListContinuationElement1417() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1417(stack["cells"]) +} + +func (c *current) onListContinuationElement1390(cells interface{}) (interface{}, error) { + return types.NewTableRow(cells.([]interface{})) } -func (p *parser) callonListContinuationElement630() (interface{}, error) { +func (p *parser) callonListContinuationElement1390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement630() + return p.cur.onListContinuationElement1390(stack["cells"]) } -func (c *current) onListContinuationElement636() (interface{}, error) { +func (c *current) onListContinuationElement1536() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement636() (interface{}, error) { +func (p *parser) callonListContinuationElement1536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement636() + return p.cur.onListContinuationElement1536() } -func (c *current) onListContinuationElement639() (interface{}, error) { +func (c *current) onListContinuationElement1539() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement639() (interface{}, error) { +func (p *parser) callonListContinuationElement1539() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement639() + return p.cur.onListContinuationElement1539() } -func (c *current) onListContinuationElement627(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement1530() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListContinuationElement627() (interface{}, error) { +func (p *parser) callonListContinuationElement1530() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement627(stack["delimiter"]) + return p.cur.onListContinuationElement1530() } -func (c *current) onListContinuationElement646(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1369(content interface{}) (interface{}, error) { + return content, nil } -func (p *parser) callonListContinuationElement646() (bool, error) { +func (p *parser) callonListContinuationElement1369() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement646(stack["end"]) + return p.cur.onListContinuationElement1369(stack["content"]) } -func (c *current) onListContinuationElement551(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Fenced, content.([]interface{})) +func (c *current) onListContinuationElement1550() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement551() (interface{}, error) { +func (p *parser) callonListContinuationElement1550() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1550() +} + +func (c *current) onListContinuationElement1553() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonListContinuationElement1553() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement551(stack["start"], stack["content"], stack["end"]) + return p.cur.onListContinuationElement1553() } -func (c *current) onListContinuationElement655() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement1336(lines interface{}) (interface{}, error) { + return types.NewTable(lines.([]interface{})) } -func (p *parser) callonListContinuationElement655() (interface{}, error) { +func (p *parser) callonListContinuationElement1336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement655() + return p.cur.onListContinuationElement1336(stack["lines"]) } -func (c *current) onListContinuationElement661() (interface{}, error) { +func (c *current) onListContinuationElement1568() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement661() (interface{}, error) { +func (p *parser) callonListContinuationElement1568() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement661() + return p.cur.onListContinuationElement1568() } -func (c *current) onListContinuationElement664() (interface{}, error) { +func (c *current) onListContinuationElement1572() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement664() (interface{}, error) { +func (p *parser) callonListContinuationElement1572() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement664() + return p.cur.onListContinuationElement1572() } -func (c *current) onListContinuationElement652(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement1562(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonListContinuationElement652() (interface{}, error) { +func (p *parser) callonListContinuationElement1562() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement652(stack["delimiter"]) + return p.cur.onListContinuationElement1562(stack["content"]) } -func (c *current) onListContinuationElement671(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1585() (bool, error) { + return !c.isWithinLiteralParagraph(), nil } -func (p *parser) callonListContinuationElement671() (bool, error) { +func (p *parser) callonListContinuationElement1585() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement671(stack["start"]) + return p.cur.onListContinuationElement1585() } -func (c *current) onListContinuationElement683() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onListContinuationElement1588() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonListContinuationElement683() (interface{}, error) { +func (p *parser) callonListContinuationElement1588() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement683() + return p.cur.onListContinuationElement1588() } -func (c *current) onListContinuationElement689() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1590() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonListContinuationElement689() (interface{}, error) { +func (p *parser) callonListContinuationElement1590() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement689() + return p.cur.onListContinuationElement1590() } -func (c *current) onListContinuationElement692() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1592() (interface{}, error) { + return types.Important, nil + } -func (p *parser) callonListContinuationElement692() (interface{}, error) { +func (p *parser) callonListContinuationElement1592() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement692() + return p.cur.onListContinuationElement1592() } -func (c *current) onListContinuationElement680(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement1594() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonListContinuationElement680() (interface{}, error) { +func (p *parser) callonListContinuationElement1594() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement680(stack["delimiter"]) + return p.cur.onListContinuationElement1594() } -func (c *current) onListContinuationElement699(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1596() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonListContinuationElement699() (bool, error) { +func (p *parser) callonListContinuationElement1596() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement699(stack["end"]) + return p.cur.onListContinuationElement1596() } -func (c *current) onListContinuationElement709() (interface{}, error) { - +func (c *current) onListContinuationElement1600() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListContinuationElement709() (interface{}, error) { +func (p *parser) callonListContinuationElement1600() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement709() + return p.cur.onListContinuationElement1600() } -func (c *current) onListContinuationElement713() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1598() (interface{}, error) { + // check + return types.LiteralParagraph, nil + } -func (p *parser) callonListContinuationElement713() (interface{}, error) { +func (p *parser) callonListContinuationElement1598() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement713() + return p.cur.onListContinuationElement1598() } -func (c *current) onListContinuationElement703(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onListContinuationElement1583(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonListContinuationElement703() (interface{}, error) { +func (p *parser) callonListContinuationElement1583() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement703(stack["content"]) + return p.cur.onListContinuationElement1583(stack["style"]) } -func (c *current) onListContinuationElement674(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListContinuationElement1613() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement674() (interface{}, error) { +func (p *parser) callonListContinuationElement1613() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement674(stack["line"]) + return p.cur.onListContinuationElement1613() } -func (c *current) onListContinuationElement728() (interface{}, error) { - // sequence of 4 "-" chars or more +func (c *current) onListContinuationElement1616() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil +} + +func (p *parser) callonListContinuationElement1616() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onListContinuationElement1616() +} + +func (c *current) onListContinuationElement1607() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListContinuationElement728() (interface{}, error) { +func (p *parser) callonListContinuationElement1607() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement728() + return p.cur.onListContinuationElement1607() } -func (c *current) onListContinuationElement734() (interface{}, error) { +func (c *current) onListContinuationElement1627() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement734() (interface{}, error) { +func (p *parser) callonListContinuationElement1627() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement734() + return p.cur.onListContinuationElement1627() } -func (c *current) onListContinuationElement737() (interface{}, error) { +func (c *current) onListContinuationElement1629() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement737() (interface{}, error) { +func (p *parser) callonListContinuationElement1629() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement737() + return p.cur.onListContinuationElement1629() } -func (c *current) onListContinuationElement725(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement1638() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement725() (interface{}, error) { +func (p *parser) callonListContinuationElement1638() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement725(stack["delimiter"]) + return p.cur.onListContinuationElement1638() } -func (c *current) onListContinuationElement744(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1645() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListContinuationElement744() (bool, error) { +func (p *parser) callonListContinuationElement1645() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement744(stack["end"]) + return p.cur.onListContinuationElement1645() } -func (c *current) onListContinuationElement649(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Listing, content.([]interface{})) +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 (p *parser) callonListContinuationElement649() (interface{}, error) { +func (p *parser) callonListContinuationElement1648() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement649(stack["start"], stack["content"], stack["end"]) + return p.cur.onListContinuationElement1648(stack["depth"]) } -func (c *current) onListContinuationElement753() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +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 (p *parser) callonListContinuationElement753() (interface{}, error) { +func (p *parser) callonListContinuationElement1642() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement753() + return p.cur.onListContinuationElement1642(stack["depth"]) } -func (c *current) onListContinuationElement759() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1649() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListContinuationElement759() (interface{}, error) { +func (p *parser) callonListContinuationElement1649() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement759() + return p.cur.onListContinuationElement1649() } -func (c *current) onListContinuationElement762() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1654() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) + } -func (p *parser) callonListContinuationElement762() (interface{}, error) { +func (p *parser) callonListContinuationElement1654() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement762() + return p.cur.onListContinuationElement1654() } -func (c *current) onListContinuationElement750(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement1658() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListContinuationElement750() (interface{}, error) { +func (p *parser) callonListContinuationElement1658() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement750(stack["delimiter"]) + return p.cur.onListContinuationElement1658() } -func (c *current) onListContinuationElement769(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1662() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) } -func (p *parser) callonListContinuationElement769() (bool, error) { +func (p *parser) callonListContinuationElement1662() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement769(stack["start"]) + return p.cur.onListContinuationElement1662() } -func (c *current) onListContinuationElement781() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onListContinuationElement1667() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListContinuationElement781() (interface{}, error) { +func (p *parser) callonListContinuationElement1667() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement781() + return p.cur.onListContinuationElement1667() } -func (c *current) onListContinuationElement787() (interface{}, error) { +func (c *current) onListContinuationElement1672(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListContinuationElement787() (interface{}, error) { +func (p *parser) callonListContinuationElement1672() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement787() + return p.cur.onListContinuationElement1672(stack["prefix"]) } -func (c *current) onListContinuationElement790() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1635(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListContinuationElement790() (interface{}, error) { +func (p *parser) callonListContinuationElement1635() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement790() + return p.cur.onListContinuationElement1635(stack["prefix"]) } -func (c *current) onListContinuationElement778(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onListContinuationElement1679() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement778() (interface{}, error) { +func (p *parser) callonListContinuationElement1679() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement778(stack["delimiter"]) + return p.cur.onListContinuationElement1679() } -func (c *current) onListContinuationElement797(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1682() (interface{}, error) { + // `-` or `*` to `*****` + return string(c.text), nil } -func (p *parser) callonListContinuationElement797() (bool, error) { +func (p *parser) callonListContinuationElement1682() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement797(stack["end"]) + return p.cur.onListContinuationElement1682() } -func (c *current) onListContinuationElement807() (interface{}, error) { +func (c *current) onListContinuationElement1687(style interface{}) (bool, error) { - return string(c.text), nil + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonListContinuationElement807() (interface{}, error) { +func (p *parser) callonListContinuationElement1687() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement807() + return p.cur.onListContinuationElement1687(stack["style"]) } -func (c *current) onListContinuationElement811() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1688(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListContinuationElement811() (interface{}, error) { +func (p *parser) callonListContinuationElement1688() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement811() + return p.cur.onListContinuationElement1688(stack["style"]) } -func (c *current) onListContinuationElement801(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onListContinuationElement1676(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonListContinuationElement801() (interface{}, error) { +func (p *parser) callonListContinuationElement1676() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement801(stack["content"]) + return p.cur.onListContinuationElement1676(stack["style"]) } -func (c *current) onListContinuationElement772(line interface{}) (interface{}, error) { - return line, nil - +func (c *current) onListContinuationElement1696() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement772() (interface{}, error) { +func (p *parser) callonListContinuationElement1696() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement772(stack["line"]) + return p.cur.onListContinuationElement1696() } -func (c *current) onListContinuationElement826() (interface{}, error) { - // sequence of 4 "." chars or more +func (c *current) onListContinuationElement1700(ref interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListContinuationElement826() (interface{}, error) { +func (p *parser) callonListContinuationElement1700() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement826() + return p.cur.onListContinuationElement1700(stack["ref"]) } -func (c *current) onListContinuationElement832() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1692(ref interface{}) (interface{}, error) { + return ref, nil } -func (p *parser) callonListContinuationElement832() (interface{}, error) { +func (p *parser) callonListContinuationElement1692() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement832() + return p.cur.onListContinuationElement1692(stack["ref"]) } -func (c *current) onListContinuationElement835() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1712() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonListContinuationElement835() (interface{}, error) { +func (p *parser) callonListContinuationElement1712() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement835() + return p.cur.onListContinuationElement1712() } -func (c *current) onListContinuationElement823(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1715(separator interface{}) (bool, error) { - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListContinuationElement823() (interface{}, error) { +func (p *parser) callonListContinuationElement1715() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement823(stack["delimiter"]) + return p.cur.onListContinuationElement1715(stack["separator"]) } -func (c *current) onListContinuationElement842(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1709(separator interface{}) (interface{}, error) { + return separator, nil } -func (p *parser) callonListContinuationElement842() (bool, error) { +func (p *parser) callonListContinuationElement1709() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement842(stack["end"]) + return p.cur.onListContinuationElement1709(stack["separator"]) } -func (c *current) onListContinuationElement747(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Literal, content.([]interface{})) - +func (c *current) onListContinuationElement1718() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement747() (interface{}, error) { +func (p *parser) callonListContinuationElement1718() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement747(stack["start"], stack["content"], stack["end"]) + return p.cur.onListContinuationElement1718() } -func (c *current) onListContinuationElement857() (interface{}, error) { - return string(c.text), nil +func (c *current) onListContinuationElement1705() (interface{}, error) { + return types.NewRawLine(strings.TrimSpace(string(c.text))) } -func (p *parser) callonListContinuationElement857() (interface{}, error) { +func (p *parser) callonListContinuationElement1705() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement857() -} - -func (c *current) onListContinuationElement860() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil + return p.cur.onListContinuationElement1705() } -func (p *parser) callonListContinuationElement860() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement860() -} +func (c *current) onListContinuationElement1729() (interface{}, error) { -func (c *current) onListContinuationElement851() (interface{}, error) { - return types.NewBlankLine() + return string(c.text), nil } -func (p *parser) callonListContinuationElement851() (interface{}, error) { +func (p *parser) callonListContinuationElement1729() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement851() + return p.cur.onListContinuationElement1729() } -func (c *current) onListContinuationElement869() (interface{}, error) { +func (c *current) onListContinuationElement1732(separator interface{}) (bool, error) { - return string(c.text), nil + // use a predicate to make sure that separator is `::`, `:::` or `::::` + return len(separator.(string)) >= 2 && len(separator.(string)) <= 4, nil } -func (p *parser) callonListContinuationElement869() (interface{}, error) { +func (p *parser) callonListContinuationElement1732() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement869() + return p.cur.onListContinuationElement1732(stack["separator"]) } -func (c *current) onListContinuationElement873() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onListContinuationElement1726(separator interface{}) (interface{}, error) { + return separator, nil + } -func (p *parser) callonListContinuationElement873() (interface{}, error) { +func (p *parser) callonListContinuationElement1726() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement873() + return p.cur.onListContinuationElement1726(stack["separator"]) } -func (c *current) onListContinuationElement848(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onListContinuationElement1743() (interface{}, error) { + // sequence of 4 "/" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement848() (interface{}, error) { +func (p *parser) callonListContinuationElement1743() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement848(stack["content"]) + return p.cur.onListContinuationElement1743() } -func (c *current) onListContinuationElement892() (interface{}, error) { +func (c *current) onListContinuationElement1749() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement892() (interface{}, error) { +func (p *parser) callonListContinuationElement1749() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement892() + return p.cur.onListContinuationElement1749() } -func (c *current) onListContinuationElement895() (interface{}, error) { +func (c *current) onListContinuationElement1752() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement895() (interface{}, error) { +func (p *parser) callonListContinuationElement1752() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement895() + return p.cur.onListContinuationElement1752() } -func (c *current) onListContinuationElement886() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onListContinuationElement1740(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement886() (interface{}, error) { +func (p *parser) callonListContinuationElement1740() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement886() + return p.cur.onListContinuationElement1740(stack["delimiter"]) } -func (c *current) onListContinuationElement904() (interface{}, error) { - +func (c *current) onListContinuationElement1762() (interface{}, error) { + // sequence of 4 "=" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement904() (interface{}, error) { +func (p *parser) callonListContinuationElement1762() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement904() + return p.cur.onListContinuationElement1762() } -func (c *current) onListContinuationElement908() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1768() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement908() (interface{}, error) { +func (p *parser) callonListContinuationElement1768() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement908() + return p.cur.onListContinuationElement1768() } -func (c *current) onListContinuationElement883(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onListContinuationElement1771() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement883() (interface{}, error) { +func (p *parser) callonListContinuationElement1771() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement883(stack["content"]) + return p.cur.onListContinuationElement1771() } -func (c *current) onListContinuationElement918() (interface{}, error) { +func (c *current) onListContinuationElement1759(delimiter interface{}) (interface{}, error) { - return string(c.text), nil + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement918() (interface{}, error) { +func (p *parser) callonListContinuationElement1759() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement918() + return p.cur.onListContinuationElement1759(stack["delimiter"]) } -func (c *current) onListContinuationElement921(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line - +func (c *current) onListContinuationElement1782() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars + return string(c.text), nil } -func (p *parser) callonListContinuationElement921() (bool, error) { +func (p *parser) callonListContinuationElement1782() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement921(stack["content"]) + return p.cur.onListContinuationElement1782() } -func (c *current) onListContinuationElement923() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1786() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement923() (interface{}, error) { +func (p *parser) callonListContinuationElement1786() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement923() + return p.cur.onListContinuationElement1786() } -func (c *current) onListContinuationElement915(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) - +func (c *current) onListContinuationElement1789() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement915() (interface{}, error) { +func (p *parser) callonListContinuationElement1789() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement915(stack["content"]) + return p.cur.onListContinuationElement1789() } -func (c *current) onListContinuationElement845(firstLine, otherLines interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.MarkdownQuote, append([]interface{}{firstLine}, otherLines.([]interface{})...)) - +func (c *current) onListContinuationElement1778(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonListContinuationElement845() (interface{}, error) { +func (p *parser) callonListContinuationElement1778() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement845(stack["firstLine"], stack["otherLines"]) + return p.cur.onListContinuationElement1778(stack["language"]) } -func (c *current) onListContinuationElement936() (interface{}, error) { - // sequence of exactly "--" +func (c *current) onListContinuationElement1799() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement936() (interface{}, error) { +func (p *parser) callonListContinuationElement1799() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement936() + return p.cur.onListContinuationElement1799() } -func (c *current) onListContinuationElement939() (interface{}, error) { +func (c *current) onListContinuationElement1805() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement939() (interface{}, error) { +func (p *parser) callonListContinuationElement1805() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement939() + return p.cur.onListContinuationElement1805() } -func (c *current) onListContinuationElement942() (interface{}, error) { +func (c *current) onListContinuationElement1808() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement942() (interface{}, error) { +func (p *parser) callonListContinuationElement1808() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement942() + return p.cur.onListContinuationElement1808() } -func (c *current) onListContinuationElement933(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1796(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement933() (interface{}, error) { +func (p *parser) callonListContinuationElement1796() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement933(stack["delimiter"]) + return p.cur.onListContinuationElement1796(stack["delimiter"]) } -func (c *current) onListContinuationElement958() (interface{}, error) { - // sequence of exactly "--" +func (c *current) onListContinuationElement1818() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement958() (interface{}, error) { +func (p *parser) callonListContinuationElement1818() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement958() + return p.cur.onListContinuationElement1818() } -func (c *current) onListContinuationElement961() (interface{}, error) { +func (c *current) onListContinuationElement1824() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement961() (interface{}, error) { +func (p *parser) callonListContinuationElement1824() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement961() + return p.cur.onListContinuationElement1824() } -func (c *current) onListContinuationElement964() (interface{}, error) { +func (c *current) onListContinuationElement1827() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement964() (interface{}, error) { +func (p *parser) callonListContinuationElement1827() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement964() + return p.cur.onListContinuationElement1827() } -func (c *current) onListContinuationElement955(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1815(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement955() (interface{}, error) { +func (p *parser) callonListContinuationElement1815() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement955(stack["delimiter"]) + return p.cur.onListContinuationElement1815(stack["delimiter"]) } -func (c *current) onListContinuationElement980() (interface{}, error) { - +func (c *current) onListContinuationElement1837() (interface{}, error) { + // sequence of 4 "." chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement980() (interface{}, error) { +func (p *parser) callonListContinuationElement1837() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement980() + return p.cur.onListContinuationElement1837() } -func (c *current) onListContinuationElement984() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onListContinuationElement1843() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement984() (interface{}, error) { +func (p *parser) callonListContinuationElement1843() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement984() + return p.cur.onListContinuationElement1843() } -func (c *current) onListContinuationElement974(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - +func (c *current) onListContinuationElement1846() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement974() (interface{}, error) { +func (p *parser) callonListContinuationElement1846() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement974(stack["content"]) + return p.cur.onListContinuationElement1846() } -func (c *current) onListContinuationElement951(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListContinuationElement1834(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement951() (interface{}, error) { +func (p *parser) callonListContinuationElement1834() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement951(stack["line"]) + return p.cur.onListContinuationElement1834(stack["delimiter"]) } -func (c *current) onListContinuationElement997() (interface{}, error) { - // sequence of exactly "--" +func (c *current) onListContinuationElement1856() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement997() (interface{}, error) { +func (p *parser) callonListContinuationElement1856() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement997() + return p.cur.onListContinuationElement1856() } -func (c *current) onListContinuationElement1000() (interface{}, error) { +func (c *current) onListContinuationElement1862() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1000() (interface{}, error) { +func (p *parser) callonListContinuationElement1862() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1000() + return p.cur.onListContinuationElement1862() } -func (c *current) onListContinuationElement1003() (interface{}, error) { +func (c *current) onListContinuationElement1865() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1003() (interface{}, error) { +func (p *parser) callonListContinuationElement1865() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1003() -} - -func (c *current) onListContinuationElement994(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Open, len(delimiter.(string)), string(c.text)) - + return p.cur.onListContinuationElement1865() } -func (p *parser) callonListContinuationElement994() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement994(stack["delimiter"]) -} +func (c *current) onListContinuationElement1853(delimiter interface{}) (interface{}, error) { -func (c *current) onListContinuationElement930(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Open, content.([]interface{})) + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement930() (interface{}, error) { +func (p *parser) callonListContinuationElement1853() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement930(stack["start"], stack["content"], stack["end"]) + return p.cur.onListContinuationElement1853(stack["delimiter"]) } -func (c *current) onListContinuationElement1018() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onListContinuationElement1875() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement1018() (interface{}, error) { +func (p *parser) callonListContinuationElement1875() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1018() + return p.cur.onListContinuationElement1875() } -func (c *current) onListContinuationElement1024() (interface{}, error) { +func (c *current) onListContinuationElement1881() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1024() (interface{}, error) { +func (p *parser) callonListContinuationElement1881() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1024() + return p.cur.onListContinuationElement1881() } -func (c *current) onListContinuationElement1027() (interface{}, error) { +func (c *current) onListContinuationElement1884() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1027() (interface{}, error) { +func (p *parser) callonListContinuationElement1884() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1027() -} - -func (c *current) onListContinuationElement1015(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) - + return p.cur.onListContinuationElement1884() } -func (p *parser) callonListContinuationElement1015() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement1015(stack["delimiter"]) -} +func (c *current) onListContinuationElement1872(delimiter interface{}) (interface{}, error) { -func (c *current) onListContinuationElement1034(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1034() (bool, error) { +func (p *parser) callonListContinuationElement1872() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1034(stack["start"]) + return p.cur.onListContinuationElement1872(stack["delimiter"]) } -func (c *current) onListContinuationElement1046() (interface{}, error) { - // sequence of 4 "+" chars or more +func (c *current) onListContinuationElement1894() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement1046() (interface{}, error) { +func (p *parser) callonListContinuationElement1894() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1046() + return p.cur.onListContinuationElement1894() } -func (c *current) onListContinuationElement1052() (interface{}, error) { +func (c *current) onListContinuationElement1900() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1052() (interface{}, error) { +func (p *parser) callonListContinuationElement1900() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1052() + return p.cur.onListContinuationElement1900() } -func (c *current) onListContinuationElement1055() (interface{}, error) { +func (c *current) onListContinuationElement1903() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1055() (interface{}, error) { +func (p *parser) callonListContinuationElement1903() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1055() + return p.cur.onListContinuationElement1903() } -func (c *current) onListContinuationElement1043(delimiter interface{}) (interface{}, error) { +func (c *current) onListContinuationElement1891(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1043() (interface{}, error) { +func (p *parser) callonListContinuationElement1891() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1043(stack["delimiter"]) + return p.cur.onListContinuationElement1891(stack["delimiter"]) } -func (c *current) onListContinuationElement1062(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onListContinuationElement1734(delimiter interface{}) (interface{}, error) { + return delimiter, nil } -func (p *parser) callonListContinuationElement1062() (bool, error) { +func (p *parser) callonListContinuationElement1734() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1062(stack["end"]) + return p.cur.onListContinuationElement1734(stack["delimiter"]) } -func (c *current) onListContinuationElement1072() (interface{}, error) { +func (c *current) onListContinuationElement1911() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1072() (interface{}, error) { +func (p *parser) callonListContinuationElement1911() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1072() + return p.cur.onListContinuationElement1911() } -func (c *current) onListContinuationElement1076() (interface{}, error) { +func (c *current) onListContinuationElement1915() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1076() (interface{}, error) { +func (p *parser) callonListContinuationElement1915() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1076() + return p.cur.onListContinuationElement1915() } -func (c *current) onListContinuationElement1066(content interface{}) (interface{}, error) { - +func (c *current) onListContinuationElement1604(content interface{}) (interface{}, error) { + // do not retain the EOL chars return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement1066() (interface{}, error) { +func (p *parser) callonListContinuationElement1604() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1066(stack["content"]) + return p.cur.onListContinuationElement1604(stack["content"]) } -func (c *current) onListContinuationElement1037(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onListContinuationElement1579(style, content interface{}) (interface{}, error) { + return types.NewParagraph(style, content) } -func (p *parser) callonListContinuationElement1037() (interface{}, error) { +func (p *parser) callonListContinuationElement1579() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1037(stack["line"]) + return p.cur.onListContinuationElement1579(stack["style"], stack["content"]) } -func (c *current) onListContinuationElement1091() (interface{}, error) { - // sequence of 4 "+" chars or more - 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) callonListContinuationElement1091() (interface{}, error) { +func (p *parser) callonListContinuationElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1091() + return p.cur.onListContinuationElement1(stack["attributes"], stack["element"]) } -func (c *current) onListContinuationElement1097() (interface{}, error) { - return string(c.text), nil +func (c *current) onCallout3() (bool, error) { + return c.isSubstitutionEnabled(Callouts), nil } -func (p *parser) callonListContinuationElement1097() (interface{}, error) { +func (p *parser) callonCallout3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1097() + return p.cur.onCallout3() } -func (c *current) onListContinuationElement1100() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onCallout6() (interface{}, error) { + return strconv.Atoi(string(c.text)) } -func (p *parser) callonListContinuationElement1100() (interface{}, error) { +func (p *parser) callonCallout6() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1100() + return p.cur.onCallout6() } -func (c *current) onListContinuationElement1088(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onCallout11() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1088() (interface{}, error) { +func (p *parser) callonCallout11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1088(stack["delimiter"]) + return p.cur.onCallout11() } -func (c *current) onListContinuationElement1107(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) - +func (c *current) onCallout15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1107() (bool, error) { +func (p *parser) callonCallout15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1107(stack["end"]) + return p.cur.onCallout15() } -func (c *current) onListContinuationElement1012(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Passthrough, content.([]interface{})) +func (c *current) onCallout1(ref interface{}) (interface{}, error) { + return types.NewCallout(ref.(int)) } -func (p *parser) callonListContinuationElement1012() (interface{}, error) { +func (p *parser) callonCallout1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1012(stack["start"], stack["content"], stack["end"]) + return p.cur.onCallout1(stack["ref"]) } -func (c *current) onListContinuationElement1116() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onShortcutParagraph10() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1116() (interface{}, error) { +func (p *parser) callonShortcutParagraph10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1116() + return p.cur.onShortcutParagraph10() } -func (c *current) onListContinuationElement1122() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph17() (interface{}, error) { + + // `.` is 1, etc. + return (len(c.text)), nil } -func (p *parser) callonListContinuationElement1122() (interface{}, error) { +func (p *parser) callonShortcutParagraph17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1122() + return p.cur.onShortcutParagraph17() } -func (c *current) onListContinuationElement1125() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortcutParagraph20(depth interface{}) (bool, error) { + + // use a predicate to make sure that only `.` to `.....` are allowed + return depth.(int) <= 5, nil + } -func (p *parser) callonListContinuationElement1125() (interface{}, error) { +func (p *parser) callonShortcutParagraph20() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1125() + return p.cur.onShortcutParagraph20(stack["depth"]) } -func (c *current) onListContinuationElement1113(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onShortcutParagraph14(depth interface{}) (interface{}, error) { + switch depth.(int) { + case 1: + return types.NewOrderedListElementPrefix(types.Arabic) + case 2: + return types.NewOrderedListElementPrefix(types.LowerAlpha) + case 3: + return types.NewOrderedListElementPrefix(types.LowerRoman) + case 4: + return types.NewOrderedListElementPrefix(types.UpperAlpha) + default: + return types.NewOrderedListElementPrefix(types.UpperRoman) + } } -func (p *parser) callonListContinuationElement1113() (interface{}, error) { +func (p *parser) callonShortcutParagraph14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1113(stack["delimiter"]) + return p.cur.onShortcutParagraph14(stack["depth"]) } -func (c *current) onListContinuationElement1132(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onShortcutParagraph21() (interface{}, error) { + // numbering style: "1.", etc. + return types.NewOrderedListElementPrefix(types.Arabic) } -func (p *parser) callonListContinuationElement1132() (bool, error) { +func (p *parser) callonShortcutParagraph21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1132(stack["start"]) + return p.cur.onShortcutParagraph21() } -func (c *current) onListContinuationElement1144() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onShortcutParagraph26() (interface{}, error) { + // numbering style: "a.", etc. + return types.NewOrderedListElementPrefix(types.LowerAlpha) } -func (p *parser) callonListContinuationElement1144() (interface{}, error) { +func (p *parser) callonShortcutParagraph26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1144() + return p.cur.onShortcutParagraph26() } -func (c *current) onListContinuationElement1150() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph30() (interface{}, error) { + // numbering style: "A.", etc. + return types.NewOrderedListElementPrefix(types.UpperAlpha) } -func (p *parser) callonListContinuationElement1150() (interface{}, error) { +func (p *parser) callonShortcutParagraph30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1150() + return p.cur.onShortcutParagraph30() } -func (c *current) onListContinuationElement1153() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortcutParagraph34() (interface{}, error) { + // numbering style: "i)", etc. + return types.NewOrderedListElementPrefix(types.LowerRoman) + } -func (p *parser) callonListContinuationElement1153() (interface{}, error) { +func (p *parser) callonShortcutParagraph34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1153() + return p.cur.onShortcutParagraph34() } -func (c *current) onListContinuationElement1141(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onShortcutParagraph39() (interface{}, error) { + // numbering style: "I)", etc. + return types.NewOrderedListElementPrefix(types.UpperRoman) } -func (p *parser) callonListContinuationElement1141() (interface{}, error) { +func (p *parser) callonShortcutParagraph39() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1141(stack["delimiter"]) + return p.cur.onShortcutParagraph39() } -func (c *current) onListContinuationElement1160(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onShortcutParagraph44(prefix interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListContinuationElement1160() (bool, error) { +func (p *parser) callonShortcutParagraph44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1160(stack["end"]) + return p.cur.onShortcutParagraph44(stack["prefix"]) } -func (c *current) onListContinuationElement1170() (interface{}, error) { - - return string(c.text), nil - +func (c *current) onShortcutParagraph7(prefix interface{}) (interface{}, error) { + return prefix, nil } -func (p *parser) callonListContinuationElement1170() (interface{}, error) { +func (p *parser) callonShortcutParagraph7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1170() + return p.cur.onShortcutParagraph7(stack["prefix"]) } -func (c *current) onListContinuationElement1174() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph52() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1174() (interface{}, error) { +func (p *parser) callonShortcutParagraph52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1174() + return p.cur.onShortcutParagraph52() } -func (c *current) onListContinuationElement1164(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) +func (c *current) onShortcutParagraph55() (interface{}, error) { + // `-` or `*` to `*****` + return string(c.text), nil } -func (p *parser) callonListContinuationElement1164() (interface{}, error) { +func (p *parser) callonShortcutParagraph55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1164(stack["content"]) + return p.cur.onShortcutParagraph55() } -func (c *current) onListContinuationElement1135(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onShortcutParagraph60(style interface{}) (bool, error) { + + // use a predicate to make sure that only `*` to `*****` are allowed + return len(style.(string)) <= 5, nil } -func (p *parser) callonListContinuationElement1135() (interface{}, error) { +func (p *parser) callonShortcutParagraph60() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1135(stack["line"]) + return p.cur.onShortcutParagraph60(stack["style"]) } -func (c *current) onListContinuationElement1189() (interface{}, error) { - // sequence of 4 "_" chars or more +func (c *current) onShortcutParagraph61(style interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListContinuationElement1189() (interface{}, error) { +func (p *parser) callonShortcutParagraph61() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1189() + return p.cur.onShortcutParagraph61(stack["style"]) } -func (c *current) onListContinuationElement1195() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph49(style interface{}) (interface{}, error) { + return types.NewUnorderedListElementPrefix(style.(string)) } -func (p *parser) callonListContinuationElement1195() (interface{}, error) { +func (p *parser) callonShortcutParagraph49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1195() + return p.cur.onShortcutParagraph49(stack["style"]) } -func (c *current) onListContinuationElement1198() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortcutParagraph68() (bool, error) { + return !c.isWithinLiteralParagraph(), nil + } -func (p *parser) callonListContinuationElement1198() (interface{}, error) { +func (p *parser) callonShortcutParagraph68() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1198() + return p.cur.onShortcutParagraph68() } -func (c *current) onListContinuationElement1186(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onShortcutParagraph71() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonListContinuationElement1186() (interface{}, error) { +func (p *parser) callonShortcutParagraph71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1186(stack["delimiter"]) + return p.cur.onShortcutParagraph71() } -func (c *current) onListContinuationElement1205(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onShortcutParagraph73() (interface{}, error) { + return types.Note, nil } -func (p *parser) callonListContinuationElement1205() (bool, error) { +func (p *parser) callonShortcutParagraph73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1205(stack["end"]) + return p.cur.onShortcutParagraph73() } -func (c *current) onListContinuationElement1110(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Quote, content.([]interface{})) +func (c *current) onShortcutParagraph75() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonListContinuationElement1110() (interface{}, error) { +func (p *parser) callonShortcutParagraph75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1110(stack["start"], stack["content"], stack["end"]) + return p.cur.onShortcutParagraph75() } -func (c *current) onListContinuationElement1214() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onShortcutParagraph77() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonListContinuationElement1214() (interface{}, error) { +func (p *parser) callonShortcutParagraph77() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1214() + return p.cur.onShortcutParagraph77() } -func (c *current) onListContinuationElement1220() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph79() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonListContinuationElement1220() (interface{}, error) { +func (p *parser) callonShortcutParagraph79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1220() + return p.cur.onShortcutParagraph79() } -func (c *current) onListContinuationElement1223() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph83() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil + } -func (p *parser) callonListContinuationElement1223() (interface{}, error) { +func (p *parser) callonShortcutParagraph83() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1223() + return p.cur.onShortcutParagraph83() } -func (c *current) onListContinuationElement1211(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onShortcutParagraph81() (interface{}, error) { + // check + return types.LiteralParagraph, nil } -func (p *parser) callonListContinuationElement1211() (interface{}, error) { +func (p *parser) callonShortcutParagraph81() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1211(stack["delimiter"]) + return p.cur.onShortcutParagraph81() } -func (c *current) onListContinuationElement1230(start interface{}) (bool, error) { - return c.setBlockDelimiterLength(start.(*types.BlockDelimiter).Length) +func (c *current) onShortcutParagraph66(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonListContinuationElement1230() (bool, error) { +func (p *parser) callonShortcutParagraph66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1230(stack["start"]) + return p.cur.onShortcutParagraph66(stack["style"]) } -func (c *current) onListContinuationElement1242() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onShortcutParagraph90() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1242() (interface{}, error) { +func (p *parser) callonShortcutParagraph90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1242() + return p.cur.onShortcutParagraph90() } -func (c *current) onListContinuationElement1248() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph93(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonListContinuationElement1248() (interface{}, error) { +func (p *parser) callonShortcutParagraph93() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1248() + return p.cur.onShortcutParagraph93(stack["content"]) } -func (c *current) onListContinuationElement1251() (interface{}, error) { +func (c *current) onShortcutParagraph95() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1251() (interface{}, error) { +func (p *parser) callonShortcutParagraph95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1251() + return p.cur.onShortcutParagraph95() } -func (c *current) onListContinuationElement1239(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onShortcutParagraph87(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement1239() (interface{}, error) { +func (p *parser) callonShortcutParagraph87() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1239(stack["delimiter"]) + return p.cur.onShortcutParagraph87(stack["content"]) } -func (c *current) onListContinuationElement1258(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onShortcutParagraph102(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) callonListContinuationElement1258() (bool, error) { +func (p *parser) callonShortcutParagraph102() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1258(stack["end"]) + return p.cur.onShortcutParagraph102(stack["style"], stack["firstLine"]) } -func (c *current) onListContinuationElement1268() (interface{}, error) { - +func (c *current) onShortcutParagraph117() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1268() (interface{}, error) { +func (p *parser) callonShortcutParagraph117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1268() + return p.cur.onShortcutParagraph117() } -func (c *current) onListContinuationElement1272() (interface{}, error) { +func (c *current) onShortcutParagraph120() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1272() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement1272() -} - -func (c *current) onListContinuationElement1262(content interface{}) (interface{}, error) { - - return types.NewRawLine(content.(string)) - -} - -func (p *parser) callonListContinuationElement1262() (interface{}, error) { +func (p *parser) callonShortcutParagraph120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1262(stack["content"]) + return p.cur.onShortcutParagraph120() } -func (c *current) onListContinuationElement1233(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onShortcutParagraph111() (interface{}, error) { + return types.NewBlankLine() } -func (p *parser) callonListContinuationElement1233() (interface{}, error) { +func (p *parser) callonShortcutParagraph111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1233(stack["line"]) + return p.cur.onShortcutParagraph111() } -func (c *current) onListContinuationElement1287() (interface{}, error) { - // sequence of 4 "*" chars or more +func (c *current) onShortcutParagraph139() (interface{}, error) { + // sequence of 4 "/" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement1287() (interface{}, error) { +func (p *parser) callonShortcutParagraph139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1287() + return p.cur.onShortcutParagraph139() } -func (c *current) onListContinuationElement1293() (interface{}, error) { +func (c *current) onShortcutParagraph145() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1293() (interface{}, error) { +func (p *parser) callonShortcutParagraph145() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1293() + return p.cur.onShortcutParagraph145() } -func (c *current) onListContinuationElement1296() (interface{}, error) { +func (c *current) onShortcutParagraph148() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1296() (interface{}, error) { +func (p *parser) callonShortcutParagraph148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1296() + return p.cur.onShortcutParagraph148() } -func (c *current) onListContinuationElement1284(delimiter interface{}) (interface{}, error) { +func (c *current) onShortcutParagraph136(delimiter interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) + return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1284() (interface{}, error) { +func (p *parser) callonShortcutParagraph136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1284(stack["delimiter"]) + return p.cur.onShortcutParagraph136(stack["delimiter"]) } -func (c *current) onListContinuationElement1303(end interface{}) (bool, error) { - return c.matchBlockDelimiterLength(end.(*types.BlockDelimiter).Length) +func (c *current) onShortcutParagraph158() (interface{}, error) { + // sequence of 4 "=" chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement1303() (bool, error) { +func (p *parser) callonShortcutParagraph158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1303(stack["end"]) + return p.cur.onShortcutParagraph158() } -func (c *current) onListContinuationElement1208(start, content, end interface{}) (interface{}, error) { - return types.NewDelimitedBlock(types.Sidebar, content.([]interface{})) +func (c *current) onShortcutParagraph164() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1208() (interface{}, error) { +func (p *parser) callonShortcutParagraph164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1208(stack["start"], stack["content"], stack["end"]) + return p.cur.onShortcutParagraph164() } -func (c *current) onListContinuationElement1317() (interface{}, error) { +func (c *current) onShortcutParagraph167() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement1317() (interface{}, error) { +func (p *parser) callonShortcutParagraph167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1317() + return p.cur.onShortcutParagraph167() } -func (c *current) onListContinuationElement1320() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortcutParagraph155(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) + } -func (p *parser) callonListContinuationElement1320() (interface{}, error) { +func (p *parser) callonShortcutParagraph155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1320() + return p.cur.onShortcutParagraph155(stack["delimiter"]) } -func (c *current) onListContinuationElement1328() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph178() (interface{}, error) { + // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars return string(c.text), nil } -func (p *parser) callonListContinuationElement1328() (interface{}, error) { +func (p *parser) callonShortcutParagraph178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1328() + return p.cur.onShortcutParagraph178() } -func (c *current) onListContinuationElement1306() (interface{}, error) { - - return types.NewThematicBreak() +func (c *current) onShortcutParagraph182() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1306() (interface{}, error) { +func (p *parser) callonShortcutParagraph182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1306() + return p.cur.onShortcutParagraph182() } -func (c *current) onListContinuationElement1340() (interface{}, error) { +func (c *current) onShortcutParagraph185() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement1340() (interface{}, error) { +func (p *parser) callonShortcutParagraph185() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1340() + return p.cur.onShortcutParagraph185() } -func (c *current) onListContinuationElement1343() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onShortcutParagraph174(language interface{}) (interface{}, error) { + return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) } -func (p *parser) callonListContinuationElement1343() (interface{}, error) { +func (p *parser) callonShortcutParagraph174() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1343() + return p.cur.onShortcutParagraph174(stack["language"]) } -func (c *current) onListContinuationElement1359() (interface{}, error) { +func (c *current) onShortcutParagraph195() (interface{}, error) { + // sequence of 3 "`" chars or more return string(c.text), nil } -func (p *parser) callonListContinuationElement1359() (interface{}, error) { +func (p *parser) callonShortcutParagraph195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1359() + return p.cur.onShortcutParagraph195() } -func (c *current) onListContinuationElement1362() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph201() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1362() (interface{}, error) { +func (p *parser) callonShortcutParagraph201() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1362() + return p.cur.onShortcutParagraph201() } -func (c *current) onListContinuationElement1353() (interface{}, error) { - return types.NewBlankLine() - +func (c *current) onShortcutParagraph204() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1353() (interface{}, error) { +func (p *parser) callonShortcutParagraph204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1353() + return p.cur.onShortcutParagraph204() } -func (c *current) onListContinuationElement1376() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph192(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1376() (interface{}, error) { +func (p *parser) callonShortcutParagraph192() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1376() + return p.cur.onShortcutParagraph192(stack["delimiter"]) } -func (c *current) onListContinuationElement1379() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph214() (interface{}, error) { + // sequence of 4 "-" chars or more return string(c.text), nil + } -func (p *parser) callonListContinuationElement1379() (interface{}, error) { +func (p *parser) callonShortcutParagraph214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1379() + return p.cur.onShortcutParagraph214() } -func (c *current) onListContinuationElement1401() (interface{}, error) { +func (c *current) onShortcutParagraph220() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1401() (interface{}, error) { +func (p *parser) callonShortcutParagraph220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1401() + return p.cur.onShortcutParagraph220() } -func (c *current) onListContinuationElement1406() (interface{}, error) { +func (c *current) onShortcutParagraph223() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement1406() (interface{}, error) { +func (p *parser) callonShortcutParagraph223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1406() + return p.cur.onShortcutParagraph223() } -func (c *current) onListContinuationElement1404(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onShortcutParagraph211(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1404() (interface{}, error) { +func (p *parser) callonShortcutParagraph211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1404(stack["content"]) + return p.cur.onShortcutParagraph211(stack["delimiter"]) } -func (c *current) onListContinuationElement1397(content interface{}) (interface{}, error) { - return types.NewInlineTableCell(content.(types.RawLine)) +func (c *current) onShortcutParagraph233() (interface{}, error) { + // sequence of 4 "." chars or more + return string(c.text), nil } -func (p *parser) callonListContinuationElement1397() (interface{}, error) { +func (p *parser) callonShortcutParagraph233() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1397(stack["content"]) + return p.cur.onShortcutParagraph233() } -func (c *current) onListContinuationElement1410() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph239() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1410() (interface{}, error) { +func (p *parser) callonShortcutParagraph239() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1410() + return p.cur.onShortcutParagraph239() } -func (c *current) onListContinuationElement1393(cells interface{}) (interface{}, error) { - - return cells, nil +func (c *current) onShortcutParagraph242() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1393() (interface{}, error) { +func (p *parser) callonShortcutParagraph242() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1393(stack["cells"]) + return p.cur.onShortcutParagraph242() } -func (c *current) onListContinuationElement1427() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph230(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1427() (interface{}, error) { +func (p *parser) callonShortcutParagraph230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1427() + return p.cur.onShortcutParagraph230(stack["delimiter"]) } -func (c *current) onListContinuationElement1430() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph252() (interface{}, error) { + // sequence of 4 "+" chars or more return string(c.text), nil + } -func (p *parser) callonListContinuationElement1430() (interface{}, error) { +func (p *parser) callonShortcutParagraph252() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1430() + return p.cur.onShortcutParagraph252() } -func (c *current) onListContinuationElement1446() (interface{}, error) { +func (c *current) onShortcutParagraph258() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1446() (interface{}, error) { +func (p *parser) callonShortcutParagraph258() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1446() + return p.cur.onShortcutParagraph258() } -func (c *current) onListContinuationElement1449() (interface{}, error) { +func (c *current) onShortcutParagraph261() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1449() (interface{}, error) { +func (p *parser) callonShortcutParagraph261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1449() + return p.cur.onShortcutParagraph261() } -func (c *current) onListContinuationElement1440() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onShortcutParagraph249(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1440() (interface{}, error) { +func (p *parser) callonShortcutParagraph249() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1440() + return p.cur.onShortcutParagraph249(stack["delimiter"]) } -func (c *current) onListContinuationElement1458() (interface{}, error) { +func (c *current) onShortcutParagraph271() (interface{}, error) { + // sequence of 4 "_" chars or more return string(c.text), nil + } -func (p *parser) callonListContinuationElement1458() (interface{}, error) { +func (p *parser) callonShortcutParagraph271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1458() + return p.cur.onShortcutParagraph271() } -func (c *current) onListContinuationElement1463() (interface{}, error) { +func (c *current) onShortcutParagraph277() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1463() (interface{}, error) { +func (p *parser) callonShortcutParagraph277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1463() + return p.cur.onShortcutParagraph277() } -func (c *current) onListContinuationElement1466() (interface{}, error) { +func (c *current) onShortcutParagraph280() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1466() (interface{}, error) { +func (p *parser) callonShortcutParagraph280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1466() + return p.cur.onShortcutParagraph280() } -func (c *current) onListContinuationElement1480() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph268(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1480() (interface{}, error) { +func (p *parser) callonShortcutParagraph268() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1480() + return p.cur.onShortcutParagraph268(stack["delimiter"]) } -func (c *current) onListContinuationElement1483() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onShortcutParagraph290() (interface{}, error) { + // sequence of 4 "*" chars or more return string(c.text), nil + } -func (p *parser) callonListContinuationElement1483() (interface{}, error) { +func (p *parser) callonShortcutParagraph290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1483() + return p.cur.onShortcutParagraph290() } -func (c *current) onListContinuationElement1499() (interface{}, error) { +func (c *current) onShortcutParagraph296() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1499() (interface{}, error) { +func (p *parser) callonShortcutParagraph296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1499() + return p.cur.onShortcutParagraph296() } -func (c *current) onListContinuationElement1502() (interface{}, error) { +func (c *current) onShortcutParagraph299() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1502() (interface{}, error) { +func (p *parser) callonShortcutParagraph299() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1502() + return p.cur.onShortcutParagraph299() } -func (c *current) onListContinuationElement1493() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onShortcutParagraph287(delimiter interface{}) (interface{}, error) { + + return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) } -func (p *parser) callonListContinuationElement1493() (interface{}, error) { +func (p *parser) callonShortcutParagraph287() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1493() + return p.cur.onShortcutParagraph287(stack["delimiter"]) } -func (c *current) onListContinuationElement1513() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph130(delimiter interface{}) (interface{}, error) { + return delimiter, nil + } -func (p *parser) callonListContinuationElement1513() (interface{}, error) { +func (p *parser) callonShortcutParagraph130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1513() + return p.cur.onShortcutParagraph130(stack["delimiter"]) } -func (c *current) onListContinuationElement1518() (interface{}, error) { +func (c *current) onShortcutParagraph310() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1518() (interface{}, error) { +func (p *parser) callonShortcutParagraph310() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1518() + return p.cur.onShortcutParagraph310() } -func (c *current) onListContinuationElement1523() (interface{}, error) { +func (c *current) onShortcutParagraph312() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1523() (interface{}, error) { +func (p *parser) callonShortcutParagraph312() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1523() + return p.cur.onShortcutParagraph312() } -func (c *current) onListContinuationElement1473(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onShortcutParagraph325() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement1473() (interface{}, error) { +func (p *parser) callonShortcutParagraph325() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1473(stack["content"]) + return p.cur.onShortcutParagraph325() } -func (c *current) onListContinuationElement1420(format, content interface{}) (interface{}, error) { - return types.NewMultilineTableCell(content.([]interface{}), format) - +func (c *current) onShortcutParagraph329() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1420() (interface{}, error) { +func (p *parser) callonShortcutParagraph329() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1420(stack["format"], stack["content"]) + return p.cur.onShortcutParagraph329() } -func (c *current) onListContinuationElement1417(cells interface{}) (interface{}, error) { - return cells, nil +func (c *current) onShortcutParagraph319(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) + } -func (p *parser) callonListContinuationElement1417() (interface{}, error) { +func (p *parser) callonShortcutParagraph319() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1417(stack["cells"]) + return p.cur.onShortcutParagraph319(stack["content"]) } -func (c *current) onListContinuationElement1390(cells interface{}) (interface{}, error) { - return types.NewTableRow(cells.([]interface{})) +func (c *current) onShortcutParagraph339() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement1390() (interface{}, error) { +func (p *parser) callonShortcutParagraph339() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1390(stack["cells"]) + return p.cur.onShortcutParagraph339() } -func (c *current) onListContinuationElement1536() (interface{}, error) { - return string(c.text), nil +func (c *current) onShortcutParagraph342(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonListContinuationElement1536() (interface{}, error) { +func (p *parser) callonShortcutParagraph342() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1536() + return p.cur.onShortcutParagraph342(stack["content"]) } -func (c *current) onListContinuationElement1539() (interface{}, error) { +func (c *current) onShortcutParagraph344() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1539() (interface{}, error) { +func (p *parser) callonShortcutParagraph344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1539() + return p.cur.onShortcutParagraph344() } -func (c *current) onListContinuationElement1530() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onShortcutParagraph336(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement1530() (interface{}, error) { +func (p *parser) callonShortcutParagraph336() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1530() + return p.cur.onShortcutParagraph336(stack["content"]) } -func (c *current) onListContinuationElement1369(content interface{}) (interface{}, error) { - return content, nil +func (c *current) onShortcutParagraph105(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement1369() (interface{}, error) { +func (p *parser) callonShortcutParagraph105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1369(stack["content"]) -} - -func (c *current) onListContinuationElement1550() (interface{}, error) { - return string(c.text), nil - + return p.cur.onShortcutParagraph105(stack["line"]) } -func (p *parser) callonListContinuationElement1550() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onListContinuationElement1550() -} +func (c *current) onShortcutParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) -func (c *current) onListContinuationElement1553() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil } -func (p *parser) callonListContinuationElement1553() (interface{}, error) { +func (p *parser) callonShortcutParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1553() + return p.cur.onShortcutParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onListContinuationElement1336(lines interface{}) (interface{}, error) { - return types.NewTable(lines.([]interface{})) +func (c *current) onParagraph7() (bool, error) { + return !c.isWithinLiteralParagraph(), nil } -func (p *parser) callonListContinuationElement1336() (interface{}, error) { +func (p *parser) callonParagraph7() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1336(stack["lines"]) + return p.cur.onParagraph7() } -func (c *current) onListContinuationElement1568() (interface{}, error) { - - return string(c.text), nil +func (c *current) onParagraph10() (interface{}, error) { + return types.Tip, nil } -func (p *parser) callonListContinuationElement1568() (interface{}, error) { +func (p *parser) callonParagraph10() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1568() + return p.cur.onParagraph10() } -func (c *current) onListContinuationElement1572() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onParagraph12() (interface{}, error) { + return types.Note, nil + } -func (p *parser) callonListContinuationElement1572() (interface{}, error) { +func (p *parser) callonParagraph12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1572() + return p.cur.onParagraph12() } -func (c *current) onListContinuationElement1562(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onParagraph14() (interface{}, error) { + return types.Important, nil } -func (p *parser) callonListContinuationElement1562() (interface{}, error) { +func (p *parser) callonParagraph14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1562(stack["content"]) + return p.cur.onParagraph14() } -func (c *current) onListContinuationElement1585() (bool, error) { - return !c.isWithinLiteralParagraph(), nil +func (c *current) onParagraph16() (interface{}, error) { + return types.Warning, nil } -func (p *parser) callonListContinuationElement1585() (bool, error) { +func (p *parser) callonParagraph16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1585() + return p.cur.onParagraph16() } -func (c *current) onListContinuationElement1588() (interface{}, error) { - return types.Tip, nil +func (c *current) onParagraph18() (interface{}, error) { + return types.Caution, nil } -func (p *parser) callonListContinuationElement1588() (interface{}, error) { +func (p *parser) callonParagraph18() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1588() + return p.cur.onParagraph18() } -func (c *current) onListContinuationElement1590() (interface{}, error) { - return types.Note, nil +func (c *current) onParagraph22() (interface{}, error) { + // log.Debug("matched multiple spaces") + return string(c.text), nil } -func (p *parser) callonListContinuationElement1590() (interface{}, error) { +func (p *parser) callonParagraph22() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1590() + return p.cur.onParagraph22() } -func (c *current) onListContinuationElement1592() (interface{}, error) { - return types.Important, nil +func (c *current) onParagraph20() (interface{}, error) { + // check + return types.LiteralParagraph, nil } -func (p *parser) callonListContinuationElement1592() (interface{}, error) { +func (p *parser) callonParagraph20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1592() + return p.cur.onParagraph20() } -func (c *current) onListContinuationElement1594() (interface{}, error) { - return types.Warning, nil +func (c *current) onParagraph5(style interface{}) (interface{}, error) { + return style, nil } -func (p *parser) callonListContinuationElement1594() (interface{}, error) { +func (p *parser) callonParagraph5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1594() + return p.cur.onParagraph5(stack["style"]) } -func (c *current) onListContinuationElement1596() (interface{}, error) { - return types.Caution, nil +func (c *current) onParagraph29() (interface{}, error) { + + return string(c.text), nil } -func (p *parser) callonListContinuationElement1596() (interface{}, error) { +func (p *parser) callonParagraph29() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1596() + return p.cur.onParagraph29() } -func (c *current) onListContinuationElement1600() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onParagraph32(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line } -func (p *parser) callonListContinuationElement1600() (interface{}, error) { +func (p *parser) callonParagraph32() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1600() + return p.cur.onParagraph32(stack["content"]) } -func (c *current) onListContinuationElement1598() (interface{}, error) { - // check - return types.LiteralParagraph, nil - +func (c *current) onParagraph34() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1598() (interface{}, error) { +func (p *parser) callonParagraph34() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1598() + return p.cur.onParagraph34() } -func (c *current) onListContinuationElement1583(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onParagraph26(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement1583() (interface{}, error) { +func (p *parser) callonParagraph26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1583(stack["style"]) + return p.cur.onParagraph26(stack["content"]) } -func (c *current) onListContinuationElement1613() (interface{}, error) { +func (c *current) onParagraph55() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1613() (interface{}, error) { +func (p *parser) callonParagraph55() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1613() + return p.cur.onParagraph55() } -func (c *current) onListContinuationElement1616() (interface{}, error) { +func (c *current) onParagraph58() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1616() (interface{}, error) { +func (p *parser) callonParagraph58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1616() + return p.cur.onParagraph58() } -func (c *current) onListContinuationElement1607() (interface{}, error) { +func (c *current) onParagraph49() (interface{}, error) { return types.NewBlankLine() } -func (p *parser) callonListContinuationElement1607() (interface{}, error) { +func (p *parser) callonParagraph49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1607() + return p.cur.onParagraph49() } -func (c *current) onListContinuationElement1627() (interface{}, error) { +func (c *current) onParagraph75() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1627() (interface{}, error) { +func (p *parser) callonParagraph75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1627() + return p.cur.onParagraph75() } -func (c *current) onListContinuationElement1629() (interface{}, error) { +func (c *current) onParagraph79() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1629() (interface{}, error) { +func (p *parser) callonParagraph79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1629() + return p.cur.onParagraph79() } -func (c *current) onListContinuationElement1638() (interface{}, error) { - return string(c.text), nil +func (c *current) onParagraph69(content interface{}) (interface{}, error) { + return types.NewSinglelineComment(content.(string)) } -func (p *parser) callonListContinuationElement1638() (interface{}, error) { +func (p *parser) callonParagraph69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1638() + return p.cur.onParagraph69(stack["content"]) } -func (c *current) onListContinuationElement1645() (interface{}, error) { +func (c *current) onParagraph89() (interface{}, error) { - // `.` is 1, etc. - return (len(c.text)), nil + return string(c.text), nil } -func (p *parser) callonListContinuationElement1645() (interface{}, error) { +func (p *parser) callonParagraph89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1645() + return p.cur.onParagraph89() } -func (c *current) onListContinuationElement1648(depth interface{}) (bool, error) { +func (c *current) onParagraph92(content interface{}) (bool, error) { + return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +} +func (p *parser) callonParagraph92() (bool, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onParagraph92(stack["content"]) } -func (p *parser) callonListContinuationElement1648() (bool, error) { +func (c *current) onParagraph94() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil +} + +func (p *parser) callonParagraph94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1648(stack["depth"]) + return p.cur.onParagraph94() } -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) onParagraph86(content interface{}) (interface{}, error) { + return types.NewRawLine(content.(string)) } -func (p *parser) callonListContinuationElement1642() (interface{}, error) { +func (p *parser) callonParagraph86() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1642(stack["depth"]) + return p.cur.onParagraph86(stack["content"]) } -func (c *current) onListContinuationElement1649() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onParagraph43(line interface{}) (interface{}, error) { + return line, nil } -func (p *parser) callonListContinuationElement1649() (interface{}, error) { +func (p *parser) callonParagraph43() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1649() + return p.cur.onParagraph43(stack["line"]) } -func (c *current) onListContinuationElement1654() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { + return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) } -func (p *parser) callonListContinuationElement1654() (interface{}, error) { +func (p *parser) callonParagraph1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1654() + return p.cur.onParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) } -func (c *current) onListContinuationElement1658() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onQuotedText6(attributes interface{}) error { + if attributes != nil { // otherwise, `c.text` matches the current character read by the parser + c.state["attrs"] = attributes + c.state["attrs_text"] = string(c.text) + } else { + // make sure that current state does not contain attributes of parent/surrounding quoted text + delete(c.state, "attrs") + delete(c.state, "attrs_text") + } + return nil } -func (p *parser) callonListContinuationElement1658() (interface{}, error) { +func (p *parser) callonQuotedText6() error { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1658() + return p.cur.onQuotedText6(stack["attributes"]) } -func (c *current) onListContinuationElement1662() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onQuotedText9(escaped interface{}) (interface{}, error) { + attributes := c.state["attrs_text"] + log.Debugf("matched escaped quoted text (attrs='%v')", attributes) + return append([]interface{}{attributes}, escaped.([]interface{})...), nil } -func (p *parser) callonListContinuationElement1662() (interface{}, error) { +func (p *parser) callonQuotedText9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1662() + return p.cur.onQuotedText9(stack["escaped"]) } -func (c *current) onListContinuationElement1667() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onQuotedText12(unescaped interface{}) (interface{}, error) { + attributes := c.state["attrs"] + log.Debugf("matched unescaped quoted text (attrs='%v')", attributes) + return unescaped.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonListContinuationElement1667() (interface{}, error) { +func (p *parser) callonQuotedText12() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1667() + return p.cur.onQuotedText12(stack["unescaped"]) } -func (c *current) onListContinuationElement1672(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onQuotedText1(attributes, element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement1672() (interface{}, error) { +func (p *parser) callonQuotedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1672(stack["prefix"]) + return p.cur.onQuotedText1(stack["attributes"], stack["element"]) } -func (c *current) onListContinuationElement1635(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonListContinuationElement1635() (interface{}, error) { +func (p *parser) callonEscapedQuotedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1635(stack["prefix"]) + return p.cur.onEscapedQuotedText1(stack["element"]) } -func (c *current) onListContinuationElement1679() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) } -func (p *parser) callonListContinuationElement1679() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1679() + return p.cur.onDoubleQuoteBoldText1(stack["elements"]) } -func (c *current) onListContinuationElement1682() (interface{}, error) { - // `-` or `*` to `*****` +func (c *current) onDoubleQuoteBoldTextElement13() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1682() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1682() + return p.cur.onDoubleQuoteBoldTextElement13() } -func (c *current) onListContinuationElement1687(style interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil +func (c *current) onDoubleQuoteBoldTextElement7() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonListContinuationElement1687() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1687(stack["style"]) + return p.cur.onDoubleQuoteBoldTextElement7() } -func (c *current) onListContinuationElement1688(style interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement16() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonListContinuationElement1688() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1688(stack["style"]) + return p.cur.onDoubleQuoteBoldTextElement16() } -func (c *current) onListContinuationElement1676(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) - +func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1676() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1676(stack["style"]) + return p.cur.onDoubleQuoteBoldTextElement20() } -func (c *current) onListContinuationElement1696() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement26() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1696() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1696() + return p.cur.onDoubleQuoteBoldTextElement26() } -func (c *current) onListContinuationElement1700(ref interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement33() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonListContinuationElement1700() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1700(stack["ref"]) + return p.cur.onDoubleQuoteBoldTextElement33() } -func (c *current) onListContinuationElement1692(ref interface{}) (interface{}, error) { - return ref, nil +func (c *current) onDoubleQuoteBoldTextElement40() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1692() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1692(stack["ref"]) + return p.cur.onDoubleQuoteBoldTextElement40() } -func (c *current) onListContinuationElement1712() (interface{}, error) { - +func (c *current) onDoubleQuoteBoldTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1712() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1712() + return p.cur.onDoubleQuoteBoldTextElement52() } -func (c *current) onListContinuationElement1715(separator interface{}) (bool, error) { +func (c *current) onDoubleQuoteBoldTextElement54() (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) callonListContinuationElement1715() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1715(stack["separator"]) + return p.cur.onDoubleQuoteBoldTextElement54() } -func (c *current) onListContinuationElement1709(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onDoubleQuoteBoldTextElement47(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1709() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1709(stack["separator"]) + return p.cur.onDoubleQuoteBoldTextElement47(stack["start"]) } -func (c *current) onListContinuationElement1718() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement36(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonListContinuationElement1718() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1718() + return p.cur.onDoubleQuoteBoldTextElement36(stack["name"], stack["start"]) } -func (c *current) onListContinuationElement1705() (interface{}, error) { - return types.NewRawLine(strings.TrimSpace(string(c.text))) +func (c *current) onDoubleQuoteBoldTextElement62() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonListContinuationElement1705() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1705() + return p.cur.onDoubleQuoteBoldTextElement62() } -func (c *current) onListContinuationElement1729() (interface{}, error) { - +func (c *current) onDoubleQuoteBoldTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1729() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1729() + return p.cur.onDoubleQuoteBoldTextElement74() } -func (c *current) onListContinuationElement1732(separator interface{}) (bool, error) { +func (c *current) onDoubleQuoteBoldTextElement76() (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) callonDoubleQuoteBoldTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1732(stack["separator"]) + return p.cur.onDoubleQuoteBoldTextElement76() } -func (c *current) onListContinuationElement1726(separator interface{}) (interface{}, error) { - return separator, nil +func (c *current) onDoubleQuoteBoldTextElement69(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonListContinuationElement1726() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1726(stack["separator"]) + return p.cur.onDoubleQuoteBoldTextElement69(stack["start"]) } -func (c *current) onListContinuationElement1743() (interface{}, error) { - // sequence of 4 "/" chars or more +func (c *current) onDoubleQuoteBoldTextElement58(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +} + +func (p *parser) callonDoubleQuoteBoldTextElement58() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement58(stack["name"], stack["start"]) +} + +func (c *current) onDoubleQuoteBoldTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1743() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1743() + return p.cur.onDoubleQuoteBoldTextElement84() } -func (c *current) onListContinuationElement1749() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListContinuationElement1749() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1749() + return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) } -func (c *current) onListContinuationElement1752() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuoteBoldTextElement94() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1752() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1752() + return p.cur.onDoubleQuoteBoldTextElement94() } -func (c *current) onListContinuationElement1740(delimiter interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement90(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonListContinuationElement1740() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1740(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement90(stack["name"]) } -func (c *current) onListContinuationElement1762() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonListContinuationElement1762() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1762() + return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) } -func (c *current) onListContinuationElement1768() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement105() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonListContinuationElement1768() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1768() + return p.cur.onDoubleQuoteBoldTextElement105() } -func (c *current) onListContinuationElement1771() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement107() (interface{}, error) { + return types.NewSymbol("`\"") + } -func (p *parser) callonListContinuationElement1771() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1771() + return p.cur.onDoubleQuoteBoldTextElement107() } -func (c *current) onListContinuationElement1759(delimiter interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement109() (interface{}, error) { + return types.NewSymbol("'`") - return types.NewBlockDelimiter(types.Example, len(delimiter.(string)), string(c.text)) +} +func (p *parser) callonDoubleQuoteBoldTextElement109() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onDoubleQuoteBoldTextElement109() } -func (p *parser) callonListContinuationElement1759() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement111() (interface{}, error) { + return types.NewSymbol("`'") + +} + +func (p *parser) callonDoubleQuoteBoldTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1759(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement111() } -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) onDoubleQuoteBoldTextElement113() (interface{}, error) { + return types.NewSymbol("(C)") + } -func (p *parser) callonListContinuationElement1782() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1782() + return p.cur.onDoubleQuoteBoldTextElement113() } -func (c *current) onListContinuationElement1786() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement115() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonListContinuationElement1786() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1786() + return p.cur.onDoubleQuoteBoldTextElement115() } -func (c *current) onListContinuationElement1789() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement117() (interface{}, error) { + return types.NewSymbol("(R)") + } -func (p *parser) callonListContinuationElement1789() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1789() + return p.cur.onDoubleQuoteBoldTextElement117() } -func (c *current) onListContinuationElement1778(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement119() (interface{}, error) { + return types.NewSymbol("...") + } -func (p *parser) callonListContinuationElement1778() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1778(stack["language"]) + return p.cur.onDoubleQuoteBoldTextElement119() } -func (c *current) onListContinuationElement1799() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement121() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonListContinuationElement1799() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1799() + return p.cur.onDoubleQuoteBoldTextElement121() } -func (c *current) onListContinuationElement1805() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement125() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonListContinuationElement1805() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement125() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1805() + return p.cur.onDoubleQuoteBoldTextElement125() } -func (c *current) onListContinuationElement1808() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onDoubleQuoteBoldTextElement128() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonListContinuationElement1808() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1808() + return p.cur.onDoubleQuoteBoldTextElement128() } -func (c *current) onListContinuationElement1796(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) - +func (c *current) onDoubleQuoteBoldTextElement132() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonListContinuationElement1796() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1796(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement132() } -func (c *current) onListContinuationElement1818() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement123() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonListContinuationElement1818() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1818() + return p.cur.onDoubleQuoteBoldTextElement123() } -func (c *current) onListContinuationElement1824() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement141() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonListContinuationElement1824() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement141() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1824() + return p.cur.onDoubleQuoteBoldTextElement141() } -func (c *current) onListContinuationElement1827() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement146() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1827() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1827() + return p.cur.onDoubleQuoteBoldTextElement146() } -func (c *current) onListContinuationElement1815(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement139() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonListContinuationElement1815() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1815(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement139() } -func (c *current) onListContinuationElement1837() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement153() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonListContinuationElement1837() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1837() + return p.cur.onDoubleQuoteBoldTextElement153() } -func (c *current) onListContinuationElement1843() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement155() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonListContinuationElement1843() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1843() + return p.cur.onDoubleQuoteBoldTextElement155() } -func (c *current) onListContinuationElement1846() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement157() (interface{}, error) { + return types.NewSymbol("<=") + } -func (p *parser) callonListContinuationElement1846() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1846() + return p.cur.onDoubleQuoteBoldTextElement157() } -func (c *current) onListContinuationElement1834(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement101() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonListContinuationElement1834() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1834(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement101() } -func (c *current) onListContinuationElement1856() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement159() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonListContinuationElement1856() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1856() + return p.cur.onDoubleQuoteBoldTextElement159() } -func (c *current) onListContinuationElement1862() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement161() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonListContinuationElement1862() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1862() + return p.cur.onDoubleQuoteBoldTextElement161() } -func (c *current) onListContinuationElement1865() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement163() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonListContinuationElement1865() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1865() + return p.cur.onDoubleQuoteBoldTextElement163() } -func (c *current) onListContinuationElement1853(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement165() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonListContinuationElement1853() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1853(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement165() } -func (c *current) onListContinuationElement1875() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement167() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonListContinuationElement1875() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1875() + return p.cur.onDoubleQuoteBoldTextElement167() } -func (c *current) onListContinuationElement1881() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement169() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonListContinuationElement1881() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1881() + return p.cur.onDoubleQuoteBoldTextElement169() } -func (c *current) onListContinuationElement1884() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement171() (interface{}, error) { + return types.NewSymbol("(R)") + } -func (p *parser) callonListContinuationElement1884() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1884() + return p.cur.onDoubleQuoteBoldTextElement171() } -func (c *current) onListContinuationElement1872(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement173() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonListContinuationElement1872() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1872(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement173() } -func (c *current) onListContinuationElement1894() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement177() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonListContinuationElement1894() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1894() + return p.cur.onDoubleQuoteBoldTextElement177() } -func (c *current) onListContinuationElement1900() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement180() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonListContinuationElement1900() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1900() + return p.cur.onDoubleQuoteBoldTextElement180() } -func (c *current) onListContinuationElement1903() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement184() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonListContinuationElement1903() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1903() + return p.cur.onDoubleQuoteBoldTextElement184() } -func (c *current) onListContinuationElement1891(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement175() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonListContinuationElement1891() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1891(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement175() } -func (c *current) onListContinuationElement1734(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onDoubleQuoteBoldTextElement193() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonListContinuationElement1734() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement193() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1734(stack["delimiter"]) + return p.cur.onDoubleQuoteBoldTextElement193() } -func (c *current) onListContinuationElement1911() (interface{}, error) { - +func (c *current) onDoubleQuoteBoldTextElement198() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonListContinuationElement1911() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1911() + return p.cur.onDoubleQuoteBoldTextElement198() } -func (c *current) onListContinuationElement1915() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement191() (interface{}, error) { + return types.NewSymbol("--") + } -func (p *parser) callonListContinuationElement1915() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1915() + return p.cur.onDoubleQuoteBoldTextElement191() } -func (c *current) onListContinuationElement1604(content interface{}) (interface{}, error) { - // do not retain the EOL chars - return types.NewRawLine(content.(string)) +func (c *current) onDoubleQuoteBoldTextElement205() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonListContinuationElement1604() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1604(stack["content"]) + return p.cur.onDoubleQuoteBoldTextElement205() } -func (c *current) onListContinuationElement1579(style, content interface{}) (interface{}, error) { - return types.NewParagraph(style, content) +func (c *current) onDoubleQuoteBoldTextElement207() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonListContinuationElement1579() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1579(stack["style"], stack["content"]) + return p.cur.onDoubleQuoteBoldTextElement207() } -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) onDoubleQuoteBoldTextElement209() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonListContinuationElement1() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onListContinuationElement1(stack["attributes"], stack["element"]) + return p.cur.onDoubleQuoteBoldTextElement209() } -func (c *current) onCallout3() (bool, error) { - return c.isSubstitutionEnabled(Callouts), nil +func (c *current) onDoubleQuoteBoldTextElement211() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonCallout3() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout3() + return p.cur.onDoubleQuoteBoldTextElement211() } -func (c *current) onCallout6() (interface{}, error) { - return strconv.Atoi(string(c.text)) +func (c *current) onDoubleQuoteBoldTextElement213() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + } -func (p *parser) callonCallout6() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout6() + return p.cur.onDoubleQuoteBoldTextElement213() } -func (c *current) onCallout11() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement219() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonCallout11() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout11() + return p.cur.onDoubleQuoteBoldTextElement219() } -func (c *current) onCallout15() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement227() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil + } -func (p *parser) callonCallout15() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement227() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout15() + return p.cur.onDoubleQuoteBoldTextElement227() } -func (c *current) onCallout1(ref interface{}) (interface{}, error) { - return types.NewCallout(ref.(int)) +func (c *current) onDoubleQuoteBoldTextElement236() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonCallout1() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onCallout1(stack["ref"]) + return p.cur.onDoubleQuoteBoldTextElement236() } -func (c *current) onShortcutParagraph10() (interface{}, error) { +func (c *current) onDoubleQuoteBoldTextElement240() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph10() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph10() + return p.cur.onDoubleQuoteBoldTextElement240() } -func (c *current) onShortcutParagraph17() (interface{}, error) { - - // `.` is 1, etc. - return (len(c.text)), nil +func (c *current) onDoubleQuoteBoldTextElement246() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortcutParagraph17() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph17() + return p.cur.onDoubleQuoteBoldTextElement246() } -func (c *current) onShortcutParagraph20(depth interface{}) (bool, error) { - - // use a predicate to make sure that only `.` to `.....` are allowed - return depth.(int) <= 5, nil +func (c *current) onDoubleQuoteBoldTextElement255() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph20() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph20(stack["depth"]) + return p.cur.onDoubleQuoteBoldTextElement255() } -func (c *current) onShortcutParagraph14(depth interface{}) (interface{}, error) { - switch depth.(int) { - case 1: - return types.NewOrderedListElementPrefix(types.Arabic) - case 2: - return types.NewOrderedListElementPrefix(types.LowerAlpha) - case 3: - return types.NewOrderedListElementPrefix(types.LowerRoman) - case 4: - return types.NewOrderedListElementPrefix(types.UpperAlpha) - default: - return types.NewOrderedListElementPrefix(types.UpperRoman) - } +func (c *current) onDoubleQuoteBoldTextElement251(name interface{}) (interface{}, error) { + + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonShortcutParagraph14() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph14(stack["depth"]) + return p.cur.onDoubleQuoteBoldTextElement251(stack["name"]) } -func (c *current) onShortcutParagraph21() (interface{}, error) { - // numbering style: "1.", etc. - return types.NewOrderedListElementPrefix(types.Arabic) +func (c *current) onDoubleQuoteBoldTextElement265() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph21() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph21() + return p.cur.onDoubleQuoteBoldTextElement265() } -func (c *current) onShortcutParagraph26() (interface{}, error) { - // numbering style: "a.", etc. - return types.NewOrderedListElementPrefix(types.LowerAlpha) +func (c *current) onDoubleQuoteBoldTextElement261(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonShortcutParagraph26() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph26() + return p.cur.onDoubleQuoteBoldTextElement261(stack["name"]) } -func (c *current) onShortcutParagraph30() (interface{}, error) { - // numbering style: "A.", etc. - return types.NewOrderedListElementPrefix(types.UpperAlpha) +func (c *current) onDoubleQuoteBoldTextElement271() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortcutParagraph30() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph30() + return p.cur.onDoubleQuoteBoldTextElement271() } -func (c *current) onShortcutParagraph34() (interface{}, error) { - // numbering style: "i)", etc. - return types.NewOrderedListElementPrefix(types.LowerRoman) +func (c *current) onDoubleQuoteBoldTextElement232(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonShortcutParagraph34() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph34() + return p.cur.onDoubleQuoteBoldTextElement232(stack["id"], stack["label"]) } -func (c *current) onShortcutParagraph39() (interface{}, error) { - // numbering style: "I)", etc. - return types.NewOrderedListElementPrefix(types.UpperRoman) +func (c *current) onDoubleQuoteBoldTextElement278() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonShortcutParagraph39() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph39() + return p.cur.onDoubleQuoteBoldTextElement278() } -func (c *current) onShortcutParagraph44(prefix interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement274(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonShortcutParagraph44() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph44(stack["prefix"]) + return p.cur.onDoubleQuoteBoldTextElement274(stack["id"]) } -func (c *current) onShortcutParagraph7(prefix interface{}) (interface{}, error) { - return prefix, nil +func (c *current) onDoubleQuoteBoldTextElement230() (interface{}, error) { + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonShortcutParagraph7() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph7(stack["prefix"]) + return p.cur.onDoubleQuoteBoldTextElement230() } -func (c *current) onShortcutParagraph52() (interface{}, error) { - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement282() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonShortcutParagraph52() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph52() + return p.cur.onDoubleQuoteBoldTextElement282() } -func (c *current) onShortcutParagraph55() (interface{}, error) { - // `-` or `*` to `*****` - return string(c.text), nil +func (c *current) onDoubleQuoteBoldTextElement225(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonShortcutParagraph55() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph55() + return p.cur.onDoubleQuoteBoldTextElement225(stack["element"]) } -func (c *current) onShortcutParagraph60(style interface{}) (bool, error) { - - // use a predicate to make sure that only `*` to `*****` are allowed - return len(style.(string)) <= 5, nil - +func (c *current) onDoubleQuoteBoldTextElement289() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph60() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph60(stack["style"]) + return p.cur.onDoubleQuoteBoldTextElement289() } -func (c *current) onShortcutParagraph61(style interface{}) (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil - +func (c *current) onDoubleQuoteBoldTextElement285(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonShortcutParagraph61() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph61(stack["style"]) + return p.cur.onDoubleQuoteBoldTextElement285(stack["ref"]) } -func (c *current) onShortcutParagraph49(style interface{}) (interface{}, error) { - return types.NewUnorderedListElementPrefix(style.(string)) +func (c *current) onDoubleQuoteBoldTextElement297() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph49() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph49(stack["style"]) + return p.cur.onDoubleQuoteBoldTextElement297() } -func (c *current) onShortcutParagraph68() (bool, error) { - return !c.isWithinLiteralParagraph(), nil +func (c *current) onDoubleQuoteBoldTextElement294() (interface{}, error) { + // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortcutParagraph68() (bool, error) { +func (p *parser) callonDoubleQuoteBoldTextElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph68() + return p.cur.onDoubleQuoteBoldTextElement294() } -func (c *current) onShortcutParagraph71() (interface{}, error) { - return types.Tip, nil +func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonShortcutParagraph71() (interface{}, error) { +func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph71() + return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) } -func (c *current) onShortcutParagraph73() (interface{}, error) { - return types.Note, nil +func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonShortcutParagraph73() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph73() + return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) } -func (c *current) onShortcutParagraph75() (interface{}, error) { - return types.Important, nil +func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { + return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) } -func (p *parser) callonShortcutParagraph75() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph75() + return p.cur.onSingleQuoteBoldText1(stack["elements"]) } -func (c *current) onShortcutParagraph77() (interface{}, error) { - return types.Warning, nil +func (c *current) onSingleQuoteBoldTextElements7() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph77() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph77() + return p.cur.onSingleQuoteBoldTextElements7() } -func (c *current) onShortcutParagraph79() (interface{}, error) { - return types.Caution, nil +func (c *current) onSingleQuoteBoldTextElements12(elements interface{}) (bool, error) { + return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonShortcutParagraph79() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph79() + return p.cur.onSingleQuoteBoldTextElements12(stack["elements"]) } -func (c *current) onShortcutParagraph83() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { + return elements, nil } -func (p *parser) callonShortcutParagraph83() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph83() + return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) } -func (c *current) onShortcutParagraph81() (interface{}, error) { - // check - return types.LiteralParagraph, nil +func (c *current) onSingleQuoteBoldTextElement8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph81() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph81() + return p.cur.onSingleQuoteBoldTextElement8() } -func (c *current) onShortcutParagraph66(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onSingleQuoteBoldTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonShortcutParagraph66() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph66(stack["style"]) + return p.cur.onSingleQuoteBoldTextElement2() } -func (c *current) onShortcutParagraph90() (interface{}, error) { - +func (c *current) onSingleQuoteBoldTextElement11() (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonShortcutParagraph90() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph90() + return p.cur.onSingleQuoteBoldTextElement11() } -func (c *current) onShortcutParagraph93(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line - +func (c *current) onSingleQuoteBoldTextElement15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph93() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph93(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement15() } -func (c *current) onShortcutParagraph95() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement21() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonShortcutParagraph95() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph95() + return p.cur.onSingleQuoteBoldTextElement21() } -func (c *current) onShortcutParagraph87(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onSingleQuoteBoldTextElement28() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonShortcutParagraph87() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph87(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement28() } -func (c *current) onShortcutParagraph102(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) onSingleQuoteBoldTextElement35() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonShortcutParagraph102() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph102(stack["style"], stack["firstLine"]) + return p.cur.onSingleQuoteBoldTextElement35() } -func (c *current) onShortcutParagraph117() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph117() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph117() + return p.cur.onSingleQuoteBoldTextElement47() } -func (c *current) onShortcutParagraph120() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement49() (interface{}, error) { + + return strconv.Atoi(string(c.text)) + } -func (p *parser) callonShortcutParagraph120() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph120() + return p.cur.onSingleQuoteBoldTextElement49() } -func (c *current) onShortcutParagraph111() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onSingleQuoteBoldTextElement42(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonShortcutParagraph111() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph111() + return p.cur.onSingleQuoteBoldTextElement42(stack["start"]) } -func (c *current) onShortcutParagraph139() (interface{}, error) { - // sequence of 4 "/" chars or more - return string(c.text), nil - +func (c *current) onSingleQuoteBoldTextElement31(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonShortcutParagraph139() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph139() + return p.cur.onSingleQuoteBoldTextElement31(stack["name"], stack["start"]) } -func (c *current) onShortcutParagraph145() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph145() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph145() + return p.cur.onSingleQuoteBoldTextElement57() } -func (c *current) onShortcutParagraph148() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuoteBoldTextElement69() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph148() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph148() + return p.cur.onSingleQuoteBoldTextElement69() } -func (c *current) onShortcutParagraph136(delimiter interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement71() (interface{}, error) { - return types.NewBlockDelimiter(types.Comment, len(delimiter.(string)), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonShortcutParagraph136() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph136(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement71() } -func (c *current) onShortcutParagraph158() (interface{}, error) { - // sequence of 4 "=" chars or more - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement64(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonShortcutParagraph158() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph158() + return p.cur.onSingleQuoteBoldTextElement64(stack["start"]) } -func (c *current) onShortcutParagraph164() (interface{}, error) { - return string(c.text), nil - +func (c *current) onSingleQuoteBoldTextElement53(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonShortcutParagraph164() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph164() + return p.cur.onSingleQuoteBoldTextElement53(stack["name"], stack["start"]) } -func (c *current) onShortcutParagraph167() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuoteBoldTextElement79() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph167() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph167() + return p.cur.onSingleQuoteBoldTextElement79() } -func (c *current) onShortcutParagraph155(delimiter interface{}) (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, error) { - return types.NewBlockDelimiter(types.Example, 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) callonShortcutParagraph155() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph155(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) } -func (c *current) onShortcutParagraph178() (interface{}, error) { - // exclude ` to avoid matching fenced blocks with more than 3 "`" delimter chars +func (c *current) onSingleQuoteBoldTextElement89() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph178() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph178() + return p.cur.onSingleQuoteBoldTextElement89() } -func (c *current) onShortcutParagraph182() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement85(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonShortcutParagraph182() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph182() + return p.cur.onSingleQuoteBoldTextElement85(stack["name"]) } -func (c *current) onShortcutParagraph185() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { + return element, nil + } -func (p *parser) callonShortcutParagraph185() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph185() + return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) } -func (c *current) onShortcutParagraph174(language interface{}) (interface{}, error) { - return types.NewMarkdownCodeBlockDelimiter(language.(string), string(c.text)) +func (c *current) onSingleQuoteBoldTextElement100() (interface{}, error) { + return types.NewSymbol("\"`") + } -func (p *parser) callonShortcutParagraph174() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph174(stack["language"]) + return p.cur.onSingleQuoteBoldTextElement100() } -func (c *current) onShortcutParagraph195() (interface{}, error) { - // sequence of 3 "`" chars or more - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement102() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonShortcutParagraph195() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph195() + return p.cur.onSingleQuoteBoldTextElement102() } -func (c *current) onShortcutParagraph201() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement104() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonShortcutParagraph201() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph201() + return p.cur.onSingleQuoteBoldTextElement104() } -func (c *current) onShortcutParagraph204() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement106() (interface{}, error) { + return types.NewSymbol("`'") + } -func (p *parser) callonShortcutParagraph204() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph204() + return p.cur.onSingleQuoteBoldTextElement106() } -func (c *current) onShortcutParagraph192(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Fenced, len(delimiter.(string)), string(c.text)) +func (c *current) onSingleQuoteBoldTextElement108() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonShortcutParagraph192() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph192(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement108() } -func (c *current) onShortcutParagraph214() (interface{}, error) { - // sequence of 4 "-" chars or more - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement110() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonShortcutParagraph214() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph214() + return p.cur.onSingleQuoteBoldTextElement110() } -func (c *current) onShortcutParagraph220() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement112() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonShortcutParagraph220() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph220() + return p.cur.onSingleQuoteBoldTextElement112() } -func (c *current) onShortcutParagraph223() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement114() (interface{}, error) { + return types.NewSymbol("...") + } -func (p *parser) callonShortcutParagraph223() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph223() + return p.cur.onSingleQuoteBoldTextElement114() } -func (c *current) onShortcutParagraph211(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onSingleQuoteBoldTextElement116() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonShortcutParagraph211() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph211(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement116() } -func (c *current) onShortcutParagraph233() (interface{}, error) { - // sequence of 4 "." chars or more - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement120() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonShortcutParagraph233() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement120() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph233() + return p.cur.onSingleQuoteBoldTextElement120() } -func (c *current) onShortcutParagraph239() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonShortcutParagraph239() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph239() + return p.cur.onSingleQuoteBoldTextElement123() } -func (c *current) onShortcutParagraph242() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement127() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonShortcutParagraph242() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph242() + return p.cur.onSingleQuoteBoldTextElement127() } -func (c *current) onShortcutParagraph230(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Listing, len(delimiter.(string)), string(c.text)) +func (c *current) onSingleQuoteBoldTextElement118() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonShortcutParagraph230() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph230(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement118() } -func (c *current) onShortcutParagraph252() (interface{}, error) { - // sequence of 4 "+" chars or more - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement136() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonShortcutParagraph252() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement136() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph252() + return p.cur.onSingleQuoteBoldTextElement136() } -func (c *current) onShortcutParagraph258() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement141() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonShortcutParagraph258() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph258() + return p.cur.onSingleQuoteBoldTextElement141() } -func (c *current) onShortcutParagraph261() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement134() (interface{}, error) { + return types.NewSymbol("--") + } -func (p *parser) callonShortcutParagraph261() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph261() + return p.cur.onSingleQuoteBoldTextElement134() } -func (c *current) onShortcutParagraph249(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Passthrough, len(delimiter.(string)), string(c.text)) +func (c *current) onSingleQuoteBoldTextElement148() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonShortcutParagraph249() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph249(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement148() } -func (c *current) onShortcutParagraph271() (interface{}, error) { - // sequence of 4 "_" chars or more - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement150() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonShortcutParagraph271() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph271() + return p.cur.onSingleQuoteBoldTextElement150() } -func (c *current) onShortcutParagraph277() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement152() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonShortcutParagraph277() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph277() + return p.cur.onSingleQuoteBoldTextElement152() } -func (c *current) onShortcutParagraph280() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement96() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) + } -func (p *parser) callonShortcutParagraph280() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph280() + return p.cur.onSingleQuoteBoldTextElement96() } -func (c *current) onShortcutParagraph268(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Quote, len(delimiter.(string)), string(c.text)) +func (c *current) onSingleQuoteBoldTextElement154() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonShortcutParagraph268() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph268(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement154() } -func (c *current) onShortcutParagraph290() (interface{}, error) { - // sequence of 4 "*" chars or more - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement156() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonShortcutParagraph290() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph290() + return p.cur.onSingleQuoteBoldTextElement156() } -func (c *current) onShortcutParagraph296() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement158() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonShortcutParagraph296() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph296() + return p.cur.onSingleQuoteBoldTextElement158() } -func (c *current) onShortcutParagraph299() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement160() (interface{}, error) { + return types.NewSymbol("`'") + } -func (p *parser) callonShortcutParagraph299() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph299() + return p.cur.onSingleQuoteBoldTextElement160() } -func (c *current) onShortcutParagraph287(delimiter interface{}) (interface{}, error) { - - return types.NewBlockDelimiter(types.Sidebar, len(delimiter.(string)), string(c.text)) +func (c *current) onSingleQuoteBoldTextElement162() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonShortcutParagraph287() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph287(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement162() } -func (c *current) onShortcutParagraph130(delimiter interface{}) (interface{}, error) { - return delimiter, nil +func (c *current) onSingleQuoteBoldTextElement164() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonShortcutParagraph130() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph130(stack["delimiter"]) + return p.cur.onSingleQuoteBoldTextElement164() } -func (c *current) onShortcutParagraph310() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement166() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonShortcutParagraph310() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph310() + return p.cur.onSingleQuoteBoldTextElement166() } -func (c *current) onShortcutParagraph312() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement168() (interface{}, error) { + return types.NewSymbol("...") + } -func (p *parser) callonShortcutParagraph312() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph312() + return p.cur.onSingleQuoteBoldTextElement168() } -func (c *current) onShortcutParagraph325() (interface{}, error) { - - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement172() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonShortcutParagraph325() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement172() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph325() + return p.cur.onSingleQuoteBoldTextElement172() } -func (c *current) onShortcutParagraph329() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuoteBoldTextElement175() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonShortcutParagraph329() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph329() + return p.cur.onSingleQuoteBoldTextElement175() } -func (c *current) onShortcutParagraph319(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) - +func (c *current) onSingleQuoteBoldTextElement179() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonShortcutParagraph319() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph319(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement179() } -func (c *current) onShortcutParagraph339() (interface{}, error) { - - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement170() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonShortcutParagraph339() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph339() + return p.cur.onSingleQuoteBoldTextElement170() } -func (c *current) onShortcutParagraph342(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onSingleQuoteBoldTextElement188() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonShortcutParagraph342() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement188() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph342(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement188() } -func (c *current) onShortcutParagraph344() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement193() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonShortcutParagraph344() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph344() + return p.cur.onSingleQuoteBoldTextElement193() } -func (c *current) onShortcutParagraph336(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onSingleQuoteBoldTextElement186() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonShortcutParagraph336() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph336(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement186() } -func (c *current) onShortcutParagraph105(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onSingleQuoteBoldTextElement200() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonShortcutParagraph105() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph105(stack["line"]) + return p.cur.onSingleQuoteBoldTextElement200() } -func (c *current) onShortcutParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) +func (c *current) onSingleQuoteBoldTextElement202() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonShortcutParagraph1() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onShortcutParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) + return p.cur.onSingleQuoteBoldTextElement202() } -func (c *current) onParagraph7() (bool, error) { - return !c.isWithinLiteralParagraph(), nil +func (c *current) onSingleQuoteBoldTextElement204() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonParagraph7() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph7() + return p.cur.onSingleQuoteBoldTextElement204() } -func (c *current) onParagraph10() (interface{}, error) { - return types.Tip, nil +func (c *current) onSingleQuoteBoldTextElement206() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonParagraph10() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph10() + return p.cur.onSingleQuoteBoldTextElement206() } -func (c *current) onParagraph12() (interface{}, error) { - return types.Note, nil +func (c *current) onSingleQuoteBoldTextElement208() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonParagraph12() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph12() + return p.cur.onSingleQuoteBoldTextElement208() } -func (c *current) onParagraph14() (interface{}, error) { - return types.Important, nil +func (c *current) onSingleQuoteBoldTextElement214() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonParagraph14() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph14() + return p.cur.onSingleQuoteBoldTextElement214() } -func (c *current) onParagraph16() (interface{}, error) { - return types.Warning, nil +func (c *current) onSingleQuoteBoldTextElement222() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonParagraph16() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement222() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph16() + return p.cur.onSingleQuoteBoldTextElement222() } -func (c *current) onParagraph18() (interface{}, error) { - return types.Caution, nil +func (c *current) onSingleQuoteBoldTextElement231() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonParagraph18() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph18() + return p.cur.onSingleQuoteBoldTextElement231() } -func (c *current) onParagraph22() (interface{}, error) { - // log.Debug("matched multiple spaces") +func (c *current) onSingleQuoteBoldTextElement235() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonParagraph22() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph22() + return p.cur.onSingleQuoteBoldTextElement235() } -func (c *current) onParagraph20() (interface{}, error) { - // check - return types.LiteralParagraph, nil +func (c *current) onSingleQuoteBoldTextElement241() (interface{}, error) { + // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references + return types.NewStringElement(string(c.text)) } -func (p *parser) callonParagraph20() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph20() + return p.cur.onSingleQuoteBoldTextElement241() } -func (c *current) onParagraph5(style interface{}) (interface{}, error) { - return style, nil +func (c *current) onSingleQuoteBoldTextElement250() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph5() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph5(stack["style"]) + return p.cur.onSingleQuoteBoldTextElement250() } -func (c *current) onParagraph29() (interface{}, error) { +func (c *current) onSingleQuoteBoldTextElement246(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) callonParagraph29() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph29() + return p.cur.onSingleQuoteBoldTextElement246(stack["name"]) } -func (c *current) onParagraph32(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onSingleQuoteBoldTextElement260() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph32() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph32(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement260() } -func (c *current) onParagraph34() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement256(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) + } -func (p *parser) callonParagraph34() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph34() + return p.cur.onSingleQuoteBoldTextElement256(stack["name"]) } -func (c *current) onParagraph26(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onSingleQuoteBoldTextElement266() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonParagraph26() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph26(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement266() } -func (c *current) onParagraph55() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement227(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) } -func (p *parser) callonParagraph55() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph55() + return p.cur.onSingleQuoteBoldTextElement227(stack["id"], stack["label"]) } -func (c *current) onParagraph58() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSingleQuoteBoldTextElement273() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil + } -func (p *parser) callonParagraph58() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph58() + return p.cur.onSingleQuoteBoldTextElement273() } -func (c *current) onParagraph49() (interface{}, error) { - return types.NewBlankLine() +func (c *current) onSingleQuoteBoldTextElement269(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonParagraph49() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph49() + return p.cur.onSingleQuoteBoldTextElement269(stack["id"]) } -func (c *current) onParagraph75() (interface{}, error) { - - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement225() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonParagraph75() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph75() + return p.cur.onSingleQuoteBoldTextElement225() } -func (c *current) onParagraph79() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement277() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) + } -func (p *parser) callonParagraph79() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph79() + return p.cur.onSingleQuoteBoldTextElement277() } -func (c *current) onParagraph69(content interface{}) (interface{}, error) { - return types.NewSinglelineComment(content.(string)) +func (c *current) onSingleQuoteBoldTextElement220(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonParagraph69() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph69(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement220(stack["element"]) } -func (c *current) onParagraph89() (interface{}, error) { - +func (c *current) onSingleQuoteBoldTextElement284() (interface{}, error) { return string(c.text), nil +} + +func (p *parser) callonSingleQuoteBoldTextElement284() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onSingleQuoteBoldTextElement284() +} +func (c *current) onSingleQuoteBoldTextElement280(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonParagraph89() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph89() + return p.cur.onSingleQuoteBoldTextElement280(stack["ref"]) } -func (c *current) onParagraph92(content interface{}) (bool, error) { - return len(strings.TrimSpace(content.(string))) > 0, nil // stop if blank line +func (c *current) onSingleQuoteBoldTextElement292() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph92() (bool, error) { +func (p *parser) callonSingleQuoteBoldTextElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph92(stack["content"]) + return p.cur.onSingleQuoteBoldTextElement292() } -func (c *current) onParagraph94() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSingleQuoteBoldTextElement289() (interface{}, error) { + // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) + return types.NewStringElement(string(c.text)) + } -func (p *parser) callonParagraph94() (interface{}, error) { +func (p *parser) callonSingleQuoteBoldTextElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph94() + return p.cur.onSingleQuoteBoldTextElement289() } -func (c *current) onParagraph86(content interface{}) (interface{}, error) { - return types.NewRawLine(content.(string)) +func (c *current) onQuotedTextInSingleQuoteBoldText2(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonParagraph86() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph86(stack["content"]) + return p.cur.onQuotedTextInSingleQuoteBoldText2(stack["element"]) } -func (c *current) onParagraph43(line interface{}) (interface{}, error) { - return line, nil +func (c *current) onQuotedTextInSingleQuoteBoldText13(attributes, text interface{}) (interface{}, error) { + return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonParagraph43() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteBoldText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph43(stack["line"]) + return p.cur.onQuotedTextInSingleQuoteBoldText13(stack["attributes"], stack["text"]) } -func (c *current) onParagraph1(style, firstLine, otherLines interface{}) (interface{}, error) { - return types.NewParagraph(style, append([]interface{}{firstLine}, otherLines.([]interface{})...)...) +func (c *current) onEscapedBoldText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonParagraph1() (interface{}, error) { +func (p *parser) callonEscapedBoldText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onParagraph1(stack["style"], stack["firstLine"], stack["otherLines"]) + return p.cur.onEscapedBoldText5() } -func (c *current) onQuotedText6(attributes interface{}) error { - if attributes != nil { // otherwise, `c.text` matches the current character read by the parser - c.state["attrs"] = attributes - c.state["attrs_text"] = string(c.text) - } else { - // make sure that current state does not contain attributes of parent/surrounding quoted text - delete(c.state, "attrs") - delete(c.state, "attrs_text") - } - return nil +func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { + + return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) } -func (p *parser) callonQuotedText6() error { +func (p *parser) callonEscapedBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText6(stack["attributes"]) + return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) } -func (c *current) onQuotedText9(escaped interface{}) (interface{}, error) { - attributes := c.state["attrs_text"] - log.Debugf("matched escaped quoted text (attrs='%v')", attributes) - return append([]interface{}{attributes}, escaped.([]interface{})...), nil +func (c *current) onEscapedBoldText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedText9() (interface{}, error) { +func (p *parser) callonEscapedBoldText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText9(stack["escaped"]) + return p.cur.onEscapedBoldText17() } -func (c *current) onQuotedText12(unescaped interface{}) (interface{}, error) { - attributes := c.state["attrs"] - log.Debugf("matched unescaped quoted text (attrs='%v')", attributes) - return unescaped.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { + + result := append([]interface{}{"*"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "*", result) } -func (p *parser) callonQuotedText12() (interface{}, error) { +func (p *parser) callonEscapedBoldText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText12(stack["unescaped"]) + return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) } -func (c *current) onQuotedText1(attributes, element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedBoldText27() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonQuotedText1() (interface{}, error) { +func (p *parser) callonEscapedBoldText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedText1(stack["attributes"], stack["element"]) + return p.cur.onEscapedBoldText27() } -func (c *current) onEscapedQuotedText1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { + + return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) } -func (p *parser) callonEscapedQuotedText1() (interface{}, error) { +func (p *parser) callonEscapedBoldText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedQuotedText1(stack["element"]) + return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteBold, elements.([]interface{})) +func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { + // double punctuation must be evaluated first + return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) } -func (p *parser) callonDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldText1(stack["elements"]) + return p.cur.onDoubleQuoteItalicText1(stack["elements"]) } -func (c *current) onDoubleQuoteBoldTextElement13() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement13() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement13() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement13() + return p.cur.onDoubleQuoteItalicTextElement13() } -func (c *current) onDoubleQuoteBoldTextElement7() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement7() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement7() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement7() + return p.cur.onDoubleQuoteItalicTextElement7() } -func (c *current) onDoubleQuoteBoldTextElement16() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement16() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement16() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement16() + return p.cur.onDoubleQuoteItalicTextElement16() } -func (c *current) onDoubleQuoteBoldTextElement20() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement20() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement20() + return p.cur.onDoubleQuoteItalicTextElement20() } -func (c *current) onDoubleQuoteBoldTextElement26() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement26() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement26() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement26() + return p.cur.onDoubleQuoteItalicTextElement26() } -func (c *current) onDoubleQuoteBoldTextElement33() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement33() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDoubleQuoteBoldTextElement33() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement33() + return p.cur.onDoubleQuoteItalicTextElement33() } -func (c *current) onDoubleQuoteBoldTextElement40() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement40() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement40() + return p.cur.onDoubleQuoteItalicTextElement40() } -func (c *current) onDoubleQuoteBoldTextElement52() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement52() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement52() + return p.cur.onDoubleQuoteItalicTextElement52() } -func (c *current) onDoubleQuoteBoldTextElement54() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement54() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement54() + return p.cur.onDoubleQuoteItalicTextElement54() } -func (c *current) onDoubleQuoteBoldTextElement47(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteBoldTextElement47() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement47(stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement47(stack["start"]) } -func (c *current) onDoubleQuoteBoldTextElement36(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement36(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement36() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement36(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement36(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteBoldTextElement62() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement62() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement62() + return p.cur.onDoubleQuoteItalicTextElement62() } -func (c *current) onDoubleQuoteBoldTextElement74() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement74() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement74() + return p.cur.onDoubleQuoteItalicTextElement74() } -func (c *current) onDoubleQuoteBoldTextElement76() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement76() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement76() + return p.cur.onDoubleQuoteItalicTextElement76() } -func (c *current) onDoubleQuoteBoldTextElement69(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteBoldTextElement69() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement69(stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement69(stack["start"]) } -func (c *current) onDoubleQuoteBoldTextElement58(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement58(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement58() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement58(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteItalicTextElement58(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteBoldTextElement84() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement84() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement84() + return p.cur.onDoubleQuoteItalicTextElement84() } -func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -97557,556 +102219,556 @@ func (c *current) onDoubleQuoteBoldTextElement80(name interface{}) (interface{}, } -func (p *parser) callonDoubleQuoteBoldTextElement80() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement80(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) } -func (c *current) onDoubleQuoteBoldTextElement94() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement94() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement94() + return p.cur.onDoubleQuoteItalicTextElement94() } -func (c *current) onDoubleQuoteBoldTextElement90(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement90(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement90() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement90(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement90(stack["name"]) } -func (c *current) onDoubleQuoteBoldTextElement31(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteBoldTextElement31() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement31(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteBoldTextElement105() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement105() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteBoldTextElement105() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement105() + return p.cur.onDoubleQuoteItalicTextElement105() } -func (c *current) onDoubleQuoteBoldTextElement107() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement107() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteBoldTextElement107() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement107() + return p.cur.onDoubleQuoteItalicTextElement107() } -func (c *current) onDoubleQuoteBoldTextElement109() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement109() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteBoldTextElement109() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement109() + return p.cur.onDoubleQuoteItalicTextElement109() } -func (c *current) onDoubleQuoteBoldTextElement111() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement111() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteBoldTextElement111() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement111() + return p.cur.onDoubleQuoteItalicTextElement111() } -func (c *current) onDoubleQuoteBoldTextElement113() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement113() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteBoldTextElement113() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement113() + return p.cur.onDoubleQuoteItalicTextElement113() } -func (c *current) onDoubleQuoteBoldTextElement115() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement115() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteBoldTextElement115() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement115() + return p.cur.onDoubleQuoteItalicTextElement115() } -func (c *current) onDoubleQuoteBoldTextElement117() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement117() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteBoldTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement117() + return p.cur.onDoubleQuoteItalicTextElement117() } -func (c *current) onDoubleQuoteBoldTextElement119() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement119() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteBoldTextElement119() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement119() + return p.cur.onDoubleQuoteItalicTextElement119() } -func (c *current) onDoubleQuoteBoldTextElement121() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement121() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteBoldTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement121() + return p.cur.onDoubleQuoteItalicTextElement121() } -func (c *current) onDoubleQuoteBoldTextElement125() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement125() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteBoldTextElement125() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement125() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement125() + return p.cur.onDoubleQuoteItalicTextElement125() } -func (c *current) onDoubleQuoteBoldTextElement128() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement128() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement128() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement128() + return p.cur.onDoubleQuoteItalicTextElement128() } -func (c *current) onDoubleQuoteBoldTextElement132() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement132() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement132() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement132() + return p.cur.onDoubleQuoteItalicTextElement132() } -func (c *current) onDoubleQuoteBoldTextElement123() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement123() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonDoubleQuoteBoldTextElement123() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement123() + return p.cur.onDoubleQuoteItalicTextElement123() } -func (c *current) onDoubleQuoteBoldTextElement141() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement141() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonDoubleQuoteBoldTextElement141() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement141() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement141() + return p.cur.onDoubleQuoteItalicTextElement141() } -func (c *current) onDoubleQuoteBoldTextElement146() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement146() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement146() + return p.cur.onDoubleQuoteItalicTextElement146() } -func (c *current) onDoubleQuoteBoldTextElement139() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement139() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonDoubleQuoteBoldTextElement139() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement139() + return p.cur.onDoubleQuoteItalicTextElement139() } -func (c *current) onDoubleQuoteBoldTextElement153() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement153() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteBoldTextElement153() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement153() + return p.cur.onDoubleQuoteItalicTextElement153() } -func (c *current) onDoubleQuoteBoldTextElement155() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement155() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonDoubleQuoteBoldTextElement155() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement155() + return p.cur.onDoubleQuoteItalicTextElement155() } -func (c *current) onDoubleQuoteBoldTextElement157() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement157() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonDoubleQuoteBoldTextElement157() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement157() + return p.cur.onDoubleQuoteItalicTextElement157() } -func (c *current) onDoubleQuoteBoldTextElement101() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement101() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteBoldTextElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement101() + return p.cur.onDoubleQuoteItalicTextElement101() } -func (c *current) onDoubleQuoteBoldTextElement159() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement159() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteBoldTextElement159() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement159() + return p.cur.onDoubleQuoteItalicTextElement159() } -func (c *current) onDoubleQuoteBoldTextElement161() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement161() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteBoldTextElement161() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement161() + return p.cur.onDoubleQuoteItalicTextElement161() } -func (c *current) onDoubleQuoteBoldTextElement163() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement163() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteBoldTextElement163() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement163() + return p.cur.onDoubleQuoteItalicTextElement163() } -func (c *current) onDoubleQuoteBoldTextElement165() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement165() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteBoldTextElement165() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement165() + return p.cur.onDoubleQuoteItalicTextElement165() } -func (c *current) onDoubleQuoteBoldTextElement167() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement167() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteBoldTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement167() + return p.cur.onDoubleQuoteItalicTextElement167() } -func (c *current) onDoubleQuoteBoldTextElement169() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement169() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteBoldTextElement169() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement169() + return p.cur.onDoubleQuoteItalicTextElement169() } -func (c *current) onDoubleQuoteBoldTextElement171() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement171() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteBoldTextElement171() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement171() + return p.cur.onDoubleQuoteItalicTextElement171() } -func (c *current) onDoubleQuoteBoldTextElement173() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement173() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteBoldTextElement173() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement173() + return p.cur.onDoubleQuoteItalicTextElement173() } -func (c *current) onDoubleQuoteBoldTextElement177() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement177() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteBoldTextElement177() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement177() + return p.cur.onDoubleQuoteItalicTextElement177() } -func (c *current) onDoubleQuoteBoldTextElement180() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement180() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement180() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement180() + return p.cur.onDoubleQuoteItalicTextElement180() } -func (c *current) onDoubleQuoteBoldTextElement184() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement184() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement184() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement184() + return p.cur.onDoubleQuoteItalicTextElement184() } -func (c *current) onDoubleQuoteBoldTextElement175() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement175() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonDoubleQuoteBoldTextElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement175() + return p.cur.onDoubleQuoteItalicTextElement175() } -func (c *current) onDoubleQuoteBoldTextElement193() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement193() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonDoubleQuoteBoldTextElement193() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement193() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement193() + return p.cur.onDoubleQuoteItalicTextElement193() } -func (c *current) onDoubleQuoteBoldTextElement198() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement198() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement198() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement198() + return p.cur.onDoubleQuoteItalicTextElement198() } -func (c *current) onDoubleQuoteBoldTextElement191() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement191() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonDoubleQuoteBoldTextElement191() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement191() + return p.cur.onDoubleQuoteItalicTextElement191() } -func (c *current) onDoubleQuoteBoldTextElement205() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement205() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteBoldTextElement205() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement205() + return p.cur.onDoubleQuoteItalicTextElement205() } -func (c *current) onDoubleQuoteBoldTextElement207() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement207() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteBoldTextElement207() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement207() + return p.cur.onDoubleQuoteItalicTextElement207() } -func (c *current) onDoubleQuoteBoldTextElement209() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement209() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonDoubleQuoteBoldTextElement209() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement209() + return p.cur.onDoubleQuoteItalicTextElement209() } -func (c *current) onDoubleQuoteBoldTextElement211() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement211() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonDoubleQuoteBoldTextElement211() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement211() + return p.cur.onDoubleQuoteItalicTextElement211() } -func (c *current) onDoubleQuoteBoldTextElement213() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement213() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonDoubleQuoteBoldTextElement213() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement213() + return p.cur.onDoubleQuoteItalicTextElement213() } -func (c *current) onDoubleQuoteBoldTextElement219() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement219() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDoubleQuoteBoldTextElement219() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement219() + return p.cur.onDoubleQuoteItalicTextElement219() } -func (c *current) onDoubleQuoteBoldTextElement227() (bool, error) { +func (c *current) onDoubleQuoteItalicTextElement227() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteBoldTextElement227() (bool, error) { +func (p *parser) callonDoubleQuoteItalicTextElement227() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement227() + return p.cur.onDoubleQuoteItalicTextElement227() } -func (c *current) onDoubleQuoteBoldTextElement236() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement236() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement236() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement236() + return p.cur.onDoubleQuoteItalicTextElement236() } -func (c *current) onDoubleQuoteBoldTextElement240() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement240() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement240() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement240() + return p.cur.onDoubleQuoteItalicTextElement240() } -func (c *current) onDoubleQuoteBoldTextElement246() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement246() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement246() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement246() + return p.cur.onDoubleQuoteItalicTextElement246() } -func (c *current) onDoubleQuoteBoldTextElement255() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement255() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement255() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement255() + return p.cur.onDoubleQuoteItalicTextElement255() } -func (c *current) onDoubleQuoteBoldTextElement251(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement251(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -98114,412 +102776,424 @@ func (c *current) onDoubleQuoteBoldTextElement251(name interface{}) (interface{} } -func (p *parser) callonDoubleQuoteBoldTextElement251() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement251(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement251(stack["name"]) } -func (c *current) onDoubleQuoteBoldTextElement265() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement265() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement265() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement265() + return p.cur.onDoubleQuoteItalicTextElement265() } -func (c *current) onDoubleQuoteBoldTextElement261(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement261(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement261() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement261(stack["name"]) + return p.cur.onDoubleQuoteItalicTextElement261(stack["name"]) } -func (c *current) onDoubleQuoteBoldTextElement271() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement271() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement271() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement271() + return p.cur.onDoubleQuoteItalicTextElement271() } -func (c *current) onDoubleQuoteBoldTextElement232(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement232(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteBoldTextElement232() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement232(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteItalicTextElement232(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteBoldTextElement278() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement278() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement278() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement278() + return p.cur.onDoubleQuoteItalicTextElement278() } -func (c *current) onDoubleQuoteBoldTextElement274(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement274(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteBoldTextElement274() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement274(stack["id"]) + return p.cur.onDoubleQuoteItalicTextElement274(stack["id"]) } -func (c *current) onDoubleQuoteBoldTextElement230() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement230() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement230() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement230() + return p.cur.onDoubleQuoteItalicTextElement230() } -func (c *current) onDoubleQuoteBoldTextElement282() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement282() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement282() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement282() + return p.cur.onDoubleQuoteItalicTextElement282() } -func (c *current) onDoubleQuoteBoldTextElement225(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement225(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteBoldTextElement225() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement225(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement225(stack["element"]) } -func (c *current) onDoubleQuoteBoldTextElement289() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement289() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement289() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement289() + return p.cur.onDoubleQuoteItalicTextElement289() } -func (c *current) onDoubleQuoteBoldTextElement285(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement285(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteBoldTextElement285() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement285(stack["ref"]) + return p.cur.onDoubleQuoteItalicTextElement285(stack["ref"]) } -func (c *current) onDoubleQuoteBoldTextElement297() (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement297() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteBoldTextElement297() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement297() + return p.cur.onDoubleQuoteItalicTextElement297() } -func (c *current) onDoubleQuoteBoldTextElement294() (interface{}, error) { - // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onDoubleQuoteItalicTextElement294() (interface{}, error) { + // or a italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteBoldTextElement294() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement294() + return p.cur.onDoubleQuoteItalicTextElement294() } -func (c *current) onDoubleQuoteBoldTextElement1(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteBoldTextElement1() (interface{}, error) { +func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteBoldTextElement1(stack["element"]) + return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteBoldText1(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleQuoteItalicText2(element interface{}) (interface{}, error) { + return element, nil + +} + +func (p *parser) callonQuotedTextInDoubleQuoteItalicText2() (interface{}, error) { + stack := p.vstack[len(p.vstack)-1] + _ = stack + return p.cur.onQuotedTextInDoubleQuoteItalicText2(stack["element"]) +} + +func (c *current) onQuotedTextInDoubleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteItalicText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteBoldText1(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInDoubleQuoteItalicText13(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteBoldText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteBold, elements.([]interface{})) +func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) } -func (p *parser) callonSingleQuoteBoldText1() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldText1(stack["elements"]) + return p.cur.onSingleQuoteItalicText1(stack["elements"]) } -func (c *current) onSingleQuoteBoldTextElements7() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElements7() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements7() + return p.cur.onSingleQuoteItalicTextElements7() } -func (c *current) onSingleQuoteBoldTextElements12(elements interface{}) (bool, error) { +func (c *current) onSingleQuoteItalicTextElements12(elements interface{}) (bool, error) { return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSingleQuoteBoldTextElements12() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements12(stack["elements"]) + return p.cur.onSingleQuoteItalicTextElements12(stack["elements"]) } -func (c *current) onSingleQuoteBoldTextElements1(elements interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { return elements, nil } -func (p *parser) callonSingleQuoteBoldTextElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElements1(stack["elements"]) + return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) } -func (c *current) onSingleQuoteBoldTextElement8() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement8() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement8() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement8() + return p.cur.onSingleQuoteItalicTextElement8() } -func (c *current) onSingleQuoteBoldTextElement2() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement2() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement2() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement2() + return p.cur.onSingleQuoteItalicTextElement2() } -func (c *current) onSingleQuoteBoldTextElement11() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement11() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement11() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement11() + return p.cur.onSingleQuoteItalicTextElement11() } -func (c *current) onSingleQuoteBoldTextElement15() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement15() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement15() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement15() + return p.cur.onSingleQuoteItalicTextElement15() } -func (c *current) onSingleQuoteBoldTextElement21() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement21() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement21() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement21() + return p.cur.onSingleQuoteItalicTextElement21() } -func (c *current) onSingleQuoteBoldTextElement28() (bool, error) { +func (c *current) onSingleQuoteItalicTextElement28() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonSingleQuoteBoldTextElement28() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement28() + return p.cur.onSingleQuoteItalicTextElement28() } -func (c *current) onSingleQuoteBoldTextElement35() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement35() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement35() + return p.cur.onSingleQuoteItalicTextElement35() } -func (c *current) onSingleQuoteBoldTextElement47() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement47() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement47() + return p.cur.onSingleQuoteItalicTextElement47() } -func (c *current) onSingleQuoteBoldTextElement49() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement49() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement49() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement49() + return p.cur.onSingleQuoteItalicTextElement49() } -func (c *current) onSingleQuoteBoldTextElement42(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement42(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteBoldTextElement42() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement42(stack["start"]) + return p.cur.onSingleQuoteItalicTextElement42(stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement31(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement31(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement31() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement31(stack["name"], stack["start"]) + return p.cur.onSingleQuoteItalicTextElement31(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement57() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement57() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement57() + return p.cur.onSingleQuoteItalicTextElement57() } -func (c *current) onSingleQuoteBoldTextElement69() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement69() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement69() + return p.cur.onSingleQuoteItalicTextElement69() } -func (c *current) onSingleQuoteBoldTextElement71() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement71() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement71() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement71() + return p.cur.onSingleQuoteItalicTextElement71() } -func (c *current) onSingleQuoteBoldTextElement64(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement64(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteBoldTextElement64() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement64(stack["start"]) + return p.cur.onSingleQuoteItalicTextElement64(stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement53(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement53(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement53() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement53(stack["name"], stack["start"]) + return p.cur.onSingleQuoteItalicTextElement53(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteBoldTextElement79() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement79() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement79() + return p.cur.onSingleQuoteItalicTextElement79() } -func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -98527,556 +103201,556 @@ func (c *current) onSingleQuoteBoldTextElement75(name interface{}) (interface{}, } -func (p *parser) callonSingleQuoteBoldTextElement75() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement75(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement89() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement89() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement89() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement89() + return p.cur.onSingleQuoteItalicTextElement89() } -func (c *current) onSingleQuoteBoldTextElement85(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement85(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement85() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement85(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement85(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement26(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteBoldTextElement26() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement26(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElement100() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement100() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteBoldTextElement100() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement100() + return p.cur.onSingleQuoteItalicTextElement100() } -func (c *current) onSingleQuoteBoldTextElement102() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement102() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteBoldTextElement102() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement102() + return p.cur.onSingleQuoteItalicTextElement102() } -func (c *current) onSingleQuoteBoldTextElement104() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement104() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteBoldTextElement104() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement104() + return p.cur.onSingleQuoteItalicTextElement104() } -func (c *current) onSingleQuoteBoldTextElement106() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement106() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteBoldTextElement106() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement106() + return p.cur.onSingleQuoteItalicTextElement106() } -func (c *current) onSingleQuoteBoldTextElement108() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement108() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteBoldTextElement108() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement108() + return p.cur.onSingleQuoteItalicTextElement108() } -func (c *current) onSingleQuoteBoldTextElement110() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement110() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteBoldTextElement110() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement110() + return p.cur.onSingleQuoteItalicTextElement110() } -func (c *current) onSingleQuoteBoldTextElement112() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement112() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteBoldTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement112() + return p.cur.onSingleQuoteItalicTextElement112() } -func (c *current) onSingleQuoteBoldTextElement114() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement114() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteBoldTextElement114() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement114() + return p.cur.onSingleQuoteItalicTextElement114() } -func (c *current) onSingleQuoteBoldTextElement116() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement116() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteBoldTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement116() + return p.cur.onSingleQuoteItalicTextElement116() } -func (c *current) onSingleQuoteBoldTextElement120() (bool, error) { +func (c *current) onSingleQuoteItalicTextElement120() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteBoldTextElement120() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement120() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement120() + return p.cur.onSingleQuoteItalicTextElement120() } -func (c *current) onSingleQuoteBoldTextElement123() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement123() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement123() + return p.cur.onSingleQuoteItalicTextElement123() } -func (c *current) onSingleQuoteBoldTextElement127() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement127() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement127() + return p.cur.onSingleQuoteItalicTextElement127() } -func (c *current) onSingleQuoteBoldTextElement118() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement118() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteBoldTextElement118() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement118() + return p.cur.onSingleQuoteItalicTextElement118() } -func (c *current) onSingleQuoteBoldTextElement136() (bool, error) { +func (c *current) onSingleQuoteItalicTextElement136() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteBoldTextElement136() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement136() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement136() + return p.cur.onSingleQuoteItalicTextElement136() } -func (c *current) onSingleQuoteBoldTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement141() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement141() + return p.cur.onSingleQuoteItalicTextElement141() } -func (c *current) onSingleQuoteBoldTextElement134() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement134() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteBoldTextElement134() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement134() + return p.cur.onSingleQuoteItalicTextElement134() } -func (c *current) onSingleQuoteBoldTextElement148() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement148() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteBoldTextElement148() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement148() + return p.cur.onSingleQuoteItalicTextElement148() } -func (c *current) onSingleQuoteBoldTextElement150() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement150() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteBoldTextElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement150() + return p.cur.onSingleQuoteItalicTextElement150() } -func (c *current) onSingleQuoteBoldTextElement152() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement152() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteBoldTextElement152() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement152() + return p.cur.onSingleQuoteItalicTextElement152() } -func (c *current) onSingleQuoteBoldTextElement96() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement96() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteBoldTextElement96() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement96() + return p.cur.onSingleQuoteItalicTextElement96() } -func (c *current) onSingleQuoteBoldTextElement154() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement154() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteBoldTextElement154() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement154() + return p.cur.onSingleQuoteItalicTextElement154() } -func (c *current) onSingleQuoteBoldTextElement156() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement156() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteBoldTextElement156() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement156() + return p.cur.onSingleQuoteItalicTextElement156() } -func (c *current) onSingleQuoteBoldTextElement158() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement158() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteBoldTextElement158() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement158() + return p.cur.onSingleQuoteItalicTextElement158() } -func (c *current) onSingleQuoteBoldTextElement160() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement160() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteBoldTextElement160() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement160() + return p.cur.onSingleQuoteItalicTextElement160() } -func (c *current) onSingleQuoteBoldTextElement162() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement162() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteBoldTextElement162() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement162() + return p.cur.onSingleQuoteItalicTextElement162() } -func (c *current) onSingleQuoteBoldTextElement164() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement164() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteBoldTextElement164() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement164() + return p.cur.onSingleQuoteItalicTextElement164() } -func (c *current) onSingleQuoteBoldTextElement166() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement166() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteBoldTextElement166() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement166() + return p.cur.onSingleQuoteItalicTextElement166() } -func (c *current) onSingleQuoteBoldTextElement168() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement168() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteBoldTextElement168() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement168() + return p.cur.onSingleQuoteItalicTextElement168() } -func (c *current) onSingleQuoteBoldTextElement172() (bool, error) { +func (c *current) onSingleQuoteItalicTextElement172() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteBoldTextElement172() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement172() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement172() + return p.cur.onSingleQuoteItalicTextElement172() } -func (c *current) onSingleQuoteBoldTextElement175() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement175() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement175() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement175() + return p.cur.onSingleQuoteItalicTextElement175() } -func (c *current) onSingleQuoteBoldTextElement179() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement179() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement179() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement179() + return p.cur.onSingleQuoteItalicTextElement179() } -func (c *current) onSingleQuoteBoldTextElement170() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement170() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteBoldTextElement170() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement170() + return p.cur.onSingleQuoteItalicTextElement170() } -func (c *current) onSingleQuoteBoldTextElement188() (bool, error) { +func (c *current) onSingleQuoteItalicTextElement188() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteBoldTextElement188() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement188() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement188() + return p.cur.onSingleQuoteItalicTextElement188() } -func (c *current) onSingleQuoteBoldTextElement193() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement193() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement193() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement193() + return p.cur.onSingleQuoteItalicTextElement193() } -func (c *current) onSingleQuoteBoldTextElement186() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement186() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteBoldTextElement186() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement186() + return p.cur.onSingleQuoteItalicTextElement186() } -func (c *current) onSingleQuoteBoldTextElement200() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement200() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteBoldTextElement200() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement200() + return p.cur.onSingleQuoteItalicTextElement200() } -func (c *current) onSingleQuoteBoldTextElement202() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement202() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteBoldTextElement202() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement202() + return p.cur.onSingleQuoteItalicTextElement202() } -func (c *current) onSingleQuoteBoldTextElement204() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement204() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteBoldTextElement204() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement204() + return p.cur.onSingleQuoteItalicTextElement204() } -func (c *current) onSingleQuoteBoldTextElement206() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement206() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteBoldTextElement206() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement206() + return p.cur.onSingleQuoteItalicTextElement206() } -func (c *current) onSingleQuoteBoldTextElement208() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement208() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuoteBoldTextElement208() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement208() + return p.cur.onSingleQuoteItalicTextElement208() } -func (c *current) onSingleQuoteBoldTextElement214() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement214() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteBoldTextElement214() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement214() + return p.cur.onSingleQuoteItalicTextElement214() } -func (c *current) onSingleQuoteBoldTextElement222() (bool, error) { +func (c *current) onSingleQuoteItalicTextElement222() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteBoldTextElement222() (bool, error) { +func (p *parser) callonSingleQuoteItalicTextElement222() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement222() + return p.cur.onSingleQuoteItalicTextElement222() } -func (c *current) onSingleQuoteBoldTextElement231() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement231() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement231() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement231() + return p.cur.onSingleQuoteItalicTextElement231() } -func (c *current) onSingleQuoteBoldTextElement235() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement235() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement235() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement235() + return p.cur.onSingleQuoteItalicTextElement235() } -func (c *current) onSingleQuoteBoldTextElement241() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement241() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement241() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement241() + return p.cur.onSingleQuoteItalicTextElement241() } -func (c *current) onSingleQuoteBoldTextElement250() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement250() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement250() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement250() + return p.cur.onSingleQuoteItalicTextElement250() } -func (c *current) onSingleQuoteBoldTextElement246(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement246(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -99084,450 +103758,449 @@ func (c *current) onSingleQuoteBoldTextElement246(name interface{}) (interface{} } -func (p *parser) callonSingleQuoteBoldTextElement246() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement246(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement246(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement260() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement260() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement260() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement260() + return p.cur.onSingleQuoteItalicTextElement260() } -func (c *current) onSingleQuoteBoldTextElement256(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement256(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement256() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement256(stack["name"]) + return p.cur.onSingleQuoteItalicTextElement256(stack["name"]) } -func (c *current) onSingleQuoteBoldTextElement266() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement266() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement266() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement266() + return p.cur.onSingleQuoteItalicTextElement266() } -func (c *current) onSingleQuoteBoldTextElement227(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement227(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteBoldTextElement227() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement227(stack["id"], stack["label"]) + return p.cur.onSingleQuoteItalicTextElement227(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteBoldTextElement273() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement273() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement273() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement273() + return p.cur.onSingleQuoteItalicTextElement273() } -func (c *current) onSingleQuoteBoldTextElement269(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement269(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteBoldTextElement269() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement269(stack["id"]) + return p.cur.onSingleQuoteItalicTextElement269(stack["id"]) } -func (c *current) onSingleQuoteBoldTextElement225() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement225() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement225() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement225() + return p.cur.onSingleQuoteItalicTextElement225() } -func (c *current) onSingleQuoteBoldTextElement277() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement277() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement277() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement277() + return p.cur.onSingleQuoteItalicTextElement277() } -func (c *current) onSingleQuoteBoldTextElement220(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement220(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteBoldTextElement220() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement220(stack["element"]) + return p.cur.onSingleQuoteItalicTextElement220(stack["element"]) } -func (c *current) onSingleQuoteBoldTextElement284() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement284() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement284() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement284() + return p.cur.onSingleQuoteItalicTextElement284() } -func (c *current) onSingleQuoteBoldTextElement280(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement280(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteBoldTextElement280() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement280(stack["ref"]) + return p.cur.onSingleQuoteItalicTextElement280(stack["ref"]) } -func (c *current) onSingleQuoteBoldTextElement292() (interface{}, error) { +func (c *current) onSingleQuoteItalicTextElement292() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteBoldTextElement292() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement292() + return p.cur.onSingleQuoteItalicTextElement292() } -func (c *current) onSingleQuoteBoldTextElement289() (interface{}, error) { - // or a bold delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onSingleQuoteItalicTextElement289() (interface{}, error) { + // or an italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteBoldTextElement289() (interface{}, error) { +func (p *parser) callonSingleQuoteItalicTextElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteBoldTextElement289() + return p.cur.onSingleQuoteItalicTextElement289() } -func (c *current) onQuotedTextInSingleQuoteBoldText2(element interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteItalicText2(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonQuotedTextInSingleQuoteBoldText2() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteItalicText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText2(stack["element"]) + return p.cur.onQuotedTextInSingleQuoteItalicText2(stack["element"]) } -func (c *current) onQuotedTextInSingleQuoteBoldText13(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuoteBoldText13() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteItalicText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteBoldText13(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInSingleQuoteItalicText13(stack["attributes"], stack["text"]) } -func (c *current) onEscapedBoldText5() (interface{}, error) { +func (c *current) onEscapedItalicText5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedBoldText5() (interface{}, error) { +func (p *parser) callonEscapedItalicText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText5() + return p.cur.onEscapedItalicText5() } -func (c *current) onEscapedBoldText2(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "**", elements.([]interface{})) +func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) } -func (p *parser) callonEscapedBoldText2() (interface{}, error) { +func (p *parser) callonEscapedItalicText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText2(stack["backslashes"], stack["elements"]) + return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) } -func (c *current) onEscapedBoldText17() (interface{}, error) { +func (c *current) onEscapedItalicText17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedBoldText17() (interface{}, error) { +func (p *parser) callonEscapedItalicText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText17() + return p.cur.onEscapedItalicText17() } -func (c *current) onEscapedBoldText14(backslashes, elements interface{}) (interface{}, error) { - - result := append([]interface{}{"*"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "*", result) +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) callonEscapedBoldText14() (interface{}, error) { +func (p *parser) callonEscapedItalicText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText14(stack["backslashes"], stack["elements"]) + return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) } -func (c *current) onEscapedBoldText27() (interface{}, error) { +func (c *current) onEscapedItalicText27() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedBoldText27() (interface{}, error) { +func (p *parser) callonEscapedItalicText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText27() + return p.cur.onEscapedItalicText27() } -func (c *current) onEscapedBoldText24(backslashes, elements interface{}) (interface{}, error) { - - return types.NewEscapedQuotedText(backslashes.(string), "*", elements.([]interface{})) +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) callonEscapedBoldText24() (interface{}, error) { +func (p *parser) callonEscapedItalicText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedBoldText24(stack["backslashes"], stack["elements"]) + return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuoteItalicText1(elements interface{}) (interface{}, error) { - // double punctuation must be evaluated first - return types.NewQuotedText(types.DoubleQuoteItalic, elements.([]interface{})) +func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { + + return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) } -func (p *parser) callonDoubleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicText1(stack["elements"]) + return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onDoubleQuoteItalicTextElement13() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement13() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement13() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement13() + return p.cur.onDoubleQuoteMonospaceTextElement13() } -func (c *current) onDoubleQuoteItalicTextElement7() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement7() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement7() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement7() + return p.cur.onDoubleQuoteMonospaceTextElement7() } -func (c *current) onDoubleQuoteItalicTextElement16() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement16() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement16() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement16() + return p.cur.onDoubleQuoteMonospaceTextElement16() } -func (c *current) onDoubleQuoteItalicTextElement20() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement20() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement20() + return p.cur.onDoubleQuoteMonospaceTextElement20() } -func (c *current) onDoubleQuoteItalicTextElement26() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement26() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement26() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement26() + return p.cur.onDoubleQuoteMonospaceTextElement26() } -func (c *current) onDoubleQuoteItalicTextElement33() (bool, error) { +func (c *current) onDoubleQuoteMonospaceTextElement33() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDoubleQuoteItalicTextElement33() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement33() + return p.cur.onDoubleQuoteMonospaceTextElement33() } -func (c *current) onDoubleQuoteItalicTextElement40() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement40() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement40() + return p.cur.onDoubleQuoteMonospaceTextElement40() } -func (c *current) onDoubleQuoteItalicTextElement52() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement52() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement52() + return p.cur.onDoubleQuoteMonospaceTextElement52() } -func (c *current) onDoubleQuoteItalicTextElement54() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement54() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement54() + return p.cur.onDoubleQuoteMonospaceTextElement54() } -func (c *current) onDoubleQuoteItalicTextElement47(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteItalicTextElement47() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement47(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement47(stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement36(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement36(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement36() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement36(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement36(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement62() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement62() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement62() + return p.cur.onDoubleQuoteMonospaceTextElement62() } -func (c *current) onDoubleQuoteItalicTextElement74() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement74() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement74() + return p.cur.onDoubleQuoteMonospaceTextElement74() } -func (c *current) onDoubleQuoteItalicTextElement76() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement76() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement76() + return p.cur.onDoubleQuoteMonospaceTextElement76() } -func (c *current) onDoubleQuoteItalicTextElement69(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteItalicTextElement69() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement69(stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement69(stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement58(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement58(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement58() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement58(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMonospaceTextElement58(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteItalicTextElement84() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement84() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement84() + return p.cur.onDoubleQuoteMonospaceTextElement84() } -func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -99535,556 +104208,556 @@ func (c *current) onDoubleQuoteItalicTextElement80(name interface{}) (interface{ } -func (p *parser) callonDoubleQuoteItalicTextElement80() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement80(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement94() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement94() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement94() + return p.cur.onDoubleQuoteMonospaceTextElement94() } -func (c *current) onDoubleQuoteItalicTextElement90(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement90(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement90() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement90(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement90(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement31(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement31() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement31(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement105() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement105() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteItalicTextElement105() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement105() + return p.cur.onDoubleQuoteMonospaceTextElement105() } -func (c *current) onDoubleQuoteItalicTextElement107() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement107() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteItalicTextElement107() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement107() + return p.cur.onDoubleQuoteMonospaceTextElement107() } -func (c *current) onDoubleQuoteItalicTextElement109() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement109() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteItalicTextElement109() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement109() + return p.cur.onDoubleQuoteMonospaceTextElement109() } -func (c *current) onDoubleQuoteItalicTextElement111() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement111() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteItalicTextElement111() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement111() + return p.cur.onDoubleQuoteMonospaceTextElement111() } -func (c *current) onDoubleQuoteItalicTextElement113() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement113() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteItalicTextElement113() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement113() + return p.cur.onDoubleQuoteMonospaceTextElement113() } -func (c *current) onDoubleQuoteItalicTextElement115() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement115() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteItalicTextElement115() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement115() + return p.cur.onDoubleQuoteMonospaceTextElement115() } -func (c *current) onDoubleQuoteItalicTextElement117() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement117() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteItalicTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement117() + return p.cur.onDoubleQuoteMonospaceTextElement117() } -func (c *current) onDoubleQuoteItalicTextElement119() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement119() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteItalicTextElement119() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement119() + return p.cur.onDoubleQuoteMonospaceTextElement119() } -func (c *current) onDoubleQuoteItalicTextElement121() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement121() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteItalicTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement121() + return p.cur.onDoubleQuoteMonospaceTextElement121() } -func (c *current) onDoubleQuoteItalicTextElement125() (bool, error) { +func (c *current) onDoubleQuoteMonospaceTextElement125() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteItalicTextElement125() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement125() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement125() + return p.cur.onDoubleQuoteMonospaceTextElement125() } -func (c *current) onDoubleQuoteItalicTextElement128() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement128() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement128() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement128() + return p.cur.onDoubleQuoteMonospaceTextElement128() } -func (c *current) onDoubleQuoteItalicTextElement132() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement132() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement132() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement132() + return p.cur.onDoubleQuoteMonospaceTextElement132() } -func (c *current) onDoubleQuoteItalicTextElement123() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement123() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonDoubleQuoteItalicTextElement123() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement123() + return p.cur.onDoubleQuoteMonospaceTextElement123() } -func (c *current) onDoubleQuoteItalicTextElement141() (bool, error) { +func (c *current) onDoubleQuoteMonospaceTextElement141() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonDoubleQuoteItalicTextElement141() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement141() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement141() + return p.cur.onDoubleQuoteMonospaceTextElement141() } -func (c *current) onDoubleQuoteItalicTextElement146() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement146() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement146() + return p.cur.onDoubleQuoteMonospaceTextElement146() } -func (c *current) onDoubleQuoteItalicTextElement139() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement139() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonDoubleQuoteItalicTextElement139() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement139() + return p.cur.onDoubleQuoteMonospaceTextElement139() } -func (c *current) onDoubleQuoteItalicTextElement153() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement153() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteItalicTextElement153() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement153() + return p.cur.onDoubleQuoteMonospaceTextElement153() } -func (c *current) onDoubleQuoteItalicTextElement155() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement155() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonDoubleQuoteItalicTextElement155() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement155() + return p.cur.onDoubleQuoteMonospaceTextElement155() } -func (c *current) onDoubleQuoteItalicTextElement157() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement157() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonDoubleQuoteItalicTextElement157() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement157() + return p.cur.onDoubleQuoteMonospaceTextElement157() } -func (c *current) onDoubleQuoteItalicTextElement101() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement101() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteItalicTextElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement101() + return p.cur.onDoubleQuoteMonospaceTextElement101() } -func (c *current) onDoubleQuoteItalicTextElement159() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement159() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteItalicTextElement159() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement159() + return p.cur.onDoubleQuoteMonospaceTextElement159() } -func (c *current) onDoubleQuoteItalicTextElement161() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement161() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteItalicTextElement161() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement161() + return p.cur.onDoubleQuoteMonospaceTextElement161() } -func (c *current) onDoubleQuoteItalicTextElement163() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement163() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteItalicTextElement163() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement163() + return p.cur.onDoubleQuoteMonospaceTextElement163() } -func (c *current) onDoubleQuoteItalicTextElement165() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement165() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteItalicTextElement165() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement165() + return p.cur.onDoubleQuoteMonospaceTextElement165() } -func (c *current) onDoubleQuoteItalicTextElement167() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement167() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteItalicTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement167() + return p.cur.onDoubleQuoteMonospaceTextElement167() } -func (c *current) onDoubleQuoteItalicTextElement169() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement169() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteItalicTextElement169() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement169() + return p.cur.onDoubleQuoteMonospaceTextElement169() } -func (c *current) onDoubleQuoteItalicTextElement171() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement171() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteItalicTextElement171() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement171() + return p.cur.onDoubleQuoteMonospaceTextElement171() } -func (c *current) onDoubleQuoteItalicTextElement173() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement173() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteItalicTextElement173() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement173() + return p.cur.onDoubleQuoteMonospaceTextElement173() } -func (c *current) onDoubleQuoteItalicTextElement177() (bool, error) { +func (c *current) onDoubleQuoteMonospaceTextElement177() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteItalicTextElement177() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement177() + return p.cur.onDoubleQuoteMonospaceTextElement177() } -func (c *current) onDoubleQuoteItalicTextElement180() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement180() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement180() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement180() + return p.cur.onDoubleQuoteMonospaceTextElement180() } -func (c *current) onDoubleQuoteItalicTextElement184() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement184() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement184() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement184() + return p.cur.onDoubleQuoteMonospaceTextElement184() } -func (c *current) onDoubleQuoteItalicTextElement175() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement175() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonDoubleQuoteItalicTextElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement175() + return p.cur.onDoubleQuoteMonospaceTextElement175() } -func (c *current) onDoubleQuoteItalicTextElement193() (bool, error) { +func (c *current) onDoubleQuoteMonospaceTextElement193() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonDoubleQuoteItalicTextElement193() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement193() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement193() + return p.cur.onDoubleQuoteMonospaceTextElement193() } -func (c *current) onDoubleQuoteItalicTextElement198() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement198() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement198() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement198() + return p.cur.onDoubleQuoteMonospaceTextElement198() } -func (c *current) onDoubleQuoteItalicTextElement191() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement191() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonDoubleQuoteItalicTextElement191() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement191() + return p.cur.onDoubleQuoteMonospaceTextElement191() } -func (c *current) onDoubleQuoteItalicTextElement205() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement205() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteItalicTextElement205() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement205() + return p.cur.onDoubleQuoteMonospaceTextElement205() } -func (c *current) onDoubleQuoteItalicTextElement207() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement207() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteItalicTextElement207() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement207() + return p.cur.onDoubleQuoteMonospaceTextElement207() } -func (c *current) onDoubleQuoteItalicTextElement209() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement209() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonDoubleQuoteItalicTextElement209() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement209() + return p.cur.onDoubleQuoteMonospaceTextElement209() } -func (c *current) onDoubleQuoteItalicTextElement211() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement211() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonDoubleQuoteItalicTextElement211() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement211() + return p.cur.onDoubleQuoteMonospaceTextElement211() } -func (c *current) onDoubleQuoteItalicTextElement213() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement213() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonDoubleQuoteItalicTextElement213() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement213() + return p.cur.onDoubleQuoteMonospaceTextElement213() } -func (c *current) onDoubleQuoteItalicTextElement219() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement219() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDoubleQuoteItalicTextElement219() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement219() + return p.cur.onDoubleQuoteMonospaceTextElement219() } -func (c *current) onDoubleQuoteItalicTextElement227() (bool, error) { +func (c *current) onDoubleQuoteMonospaceTextElement227() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteItalicTextElement227() (bool, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement227() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement227() + return p.cur.onDoubleQuoteMonospaceTextElement227() } -func (c *current) onDoubleQuoteItalicTextElement236() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement236() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement236() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement236() + return p.cur.onDoubleQuoteMonospaceTextElement236() } -func (c *current) onDoubleQuoteItalicTextElement240() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement240() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement240() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement240() + return p.cur.onDoubleQuoteMonospaceTextElement240() } -func (c *current) onDoubleQuoteItalicTextElement246() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement246() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement246() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement246() + return p.cur.onDoubleQuoteMonospaceTextElement246() } -func (c *current) onDoubleQuoteItalicTextElement255() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement255() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement255() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement255() + return p.cur.onDoubleQuoteMonospaceTextElement255() } -func (c *current) onDoubleQuoteItalicTextElement251(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement251(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -100092,424 +104765,425 @@ func (c *current) onDoubleQuoteItalicTextElement251(name interface{}) (interface } -func (p *parser) callonDoubleQuoteItalicTextElement251() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement251(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement251(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement265() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement265() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement265() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement265() + return p.cur.onDoubleQuoteMonospaceTextElement265() } -func (c *current) onDoubleQuoteItalicTextElement261(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement261(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement261() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement261(stack["name"]) + return p.cur.onDoubleQuoteMonospaceTextElement261(stack["name"]) } -func (c *current) onDoubleQuoteItalicTextElement271() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement271() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement271() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement271() + return p.cur.onDoubleQuoteMonospaceTextElement271() } -func (c *current) onDoubleQuoteItalicTextElement232(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement232(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteItalicTextElement232() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement232(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteMonospaceTextElement232(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteItalicTextElement278() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement278() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement278() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement278() + return p.cur.onDoubleQuoteMonospaceTextElement278() } -func (c *current) onDoubleQuoteItalicTextElement274(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement274(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteItalicTextElement274() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement274(stack["id"]) + return p.cur.onDoubleQuoteMonospaceTextElement274(stack["id"]) } -func (c *current) onDoubleQuoteItalicTextElement230() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement230() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement230() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement230() + return p.cur.onDoubleQuoteMonospaceTextElement230() } -func (c *current) onDoubleQuoteItalicTextElement282() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement282() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement282() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement282() + return p.cur.onDoubleQuoteMonospaceTextElement282() } -func (c *current) onDoubleQuoteItalicTextElement225(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement225(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement225() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement225(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement225(stack["element"]) } -func (c *current) onDoubleQuoteItalicTextElement289() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement290() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement289() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement289() + return p.cur.onDoubleQuoteMonospaceTextElement290() } -func (c *current) onDoubleQuoteItalicTextElement285(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement286(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteItalicTextElement285() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement285(stack["ref"]) + return p.cur.onDoubleQuoteMonospaceTextElement286(stack["ref"]) } -func (c *current) onDoubleQuoteItalicTextElement297() (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement298() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteItalicTextElement297() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement297() + return p.cur.onDoubleQuoteMonospaceTextElement298() } -func (c *current) onDoubleQuoteItalicTextElement294() (interface{}, error) { - // or a italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onDoubleQuoteMonospaceTextElement295() (interface{}, error) { + // ` or a monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteItalicTextElement294() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement295() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement294() + return p.cur.onDoubleQuoteMonospaceTextElement295() } -func (c *current) onDoubleQuoteItalicTextElement1(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteItalicTextElement1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteItalicTextElement1(stack["element"]) + return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteItalicText2(element interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleQuoteMonospaceText2(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText2() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText2(stack["element"]) + return p.cur.onQuotedTextInDoubleQuoteMonospaceText2(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleQuoteItalicText13() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteItalicText13(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInDoubleQuoteMonospaceText13(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteItalicText1(elements interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteItalic, elements.([]interface{})) + return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) } -func (p *parser) callonSingleQuoteItalicText1() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicText1(stack["elements"]) + return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) } -func (c *current) onSingleQuoteItalicTextElements7() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElements7() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements7() + return p.cur.onSingleQuoteMonospaceTextElements7() } -func (c *current) onSingleQuoteItalicTextElements12(elements interface{}) (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElements12(elements interface{}) (bool, error) { return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSingleQuoteItalicTextElements12() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements12(stack["elements"]) + return p.cur.onSingleQuoteMonospaceTextElements12(stack["elements"]) } -func (c *current) onSingleQuoteItalicTextElements1(elements interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { return elements, nil } -func (p *parser) callonSingleQuoteItalicTextElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElements1(stack["elements"]) + return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) } -func (c *current) onSingleQuoteItalicTextElement8() (interface{}, error) { - return string(c.text), nil +func (c *current) onSingleQuoteMonospaceTextElement2() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement8() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement8() + return p.cur.onSingleQuoteMonospaceTextElement2() } -func (c *current) onSingleQuoteItalicTextElement2() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement11() (interface{}, error) { + // allow ` return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement2() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement2() + return p.cur.onSingleQuoteMonospaceTextElement11() } -func (c *current) onSingleQuoteItalicTextElement11() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement20() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement11() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement11() + return p.cur.onSingleQuoteMonospaceTextElement20() } -func (c *current) onSingleQuoteItalicTextElement15() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement24() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement15() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement15() + return p.cur.onSingleQuoteMonospaceTextElement24() } -func (c *current) onSingleQuoteItalicTextElement21() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement30() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement21() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement30() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement21() + return p.cur.onSingleQuoteMonospaceTextElement30() } -func (c *current) onSingleQuoteItalicTextElement28() (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElement37() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonSingleQuoteItalicTextElement28() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement37() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement28() + return p.cur.onSingleQuoteMonospaceTextElement37() } -func (c *current) onSingleQuoteItalicTextElement35() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement44() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement35() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement44() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement35() + return p.cur.onSingleQuoteMonospaceTextElement44() } -func (c *current) onSingleQuoteItalicTextElement47() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement56() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement47() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement47() + return p.cur.onSingleQuoteMonospaceTextElement56() } -func (c *current) onSingleQuoteItalicTextElement49() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement58() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement49() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement49() + return p.cur.onSingleQuoteMonospaceTextElement58() } -func (c *current) onSingleQuoteItalicTextElement42(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement51(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteItalicTextElement42() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement42(stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement51(stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement31(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement40(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement31() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement31(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement40(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement57() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement66() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement57() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement57() + return p.cur.onSingleQuoteMonospaceTextElement66() } -func (c *current) onSingleQuoteItalicTextElement69() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement78() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement69() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement69() + return p.cur.onSingleQuoteMonospaceTextElement78() } -func (c *current) onSingleQuoteItalicTextElement71() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement80() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement71() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement71() + return p.cur.onSingleQuoteMonospaceTextElement80() } -func (c *current) onSingleQuoteItalicTextElement64(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement73(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteItalicTextElement64() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement64(stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement73(stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement53(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement62(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement53() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement53(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMonospaceTextElement62(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteItalicTextElement79() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement88() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement79() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement79() + return p.cur.onSingleQuoteMonospaceTextElement88() } -func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -100517,556 +105191,556 @@ func (c *current) onSingleQuoteItalicTextElement75(name interface{}) (interface{ } -func (p *parser) callonSingleQuoteItalicTextElement75() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement75(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement89() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement98() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement89() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement98() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement89() + return p.cur.onSingleQuoteMonospaceTextElement98() } -func (c *current) onSingleQuoteItalicTextElement85(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement94(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement85() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement85(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement94(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement26(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteItalicTextElement26() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement26(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) } -func (c *current) onSingleQuoteItalicTextElement100() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement109() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteItalicTextElement100() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement100() + return p.cur.onSingleQuoteMonospaceTextElement109() } -func (c *current) onSingleQuoteItalicTextElement102() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement111() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteItalicTextElement102() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement102() + return p.cur.onSingleQuoteMonospaceTextElement111() } -func (c *current) onSingleQuoteItalicTextElement104() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement113() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteItalicTextElement104() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement104() + return p.cur.onSingleQuoteMonospaceTextElement113() } -func (c *current) onSingleQuoteItalicTextElement106() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement115() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteItalicTextElement106() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement106() + return p.cur.onSingleQuoteMonospaceTextElement115() } -func (c *current) onSingleQuoteItalicTextElement108() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement117() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteItalicTextElement108() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement108() + return p.cur.onSingleQuoteMonospaceTextElement117() } -func (c *current) onSingleQuoteItalicTextElement110() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement119() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteItalicTextElement110() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement110() + return p.cur.onSingleQuoteMonospaceTextElement119() } -func (c *current) onSingleQuoteItalicTextElement112() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement121() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteItalicTextElement112() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement112() + return p.cur.onSingleQuoteMonospaceTextElement121() } -func (c *current) onSingleQuoteItalicTextElement114() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement123() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteItalicTextElement114() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement114() + return p.cur.onSingleQuoteMonospaceTextElement123() } -func (c *current) onSingleQuoteItalicTextElement116() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement125() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteItalicTextElement116() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement125() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement116() + return p.cur.onSingleQuoteMonospaceTextElement125() } -func (c *current) onSingleQuoteItalicTextElement120() (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElement129() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteItalicTextElement120() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement129() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement120() + return p.cur.onSingleQuoteMonospaceTextElement129() } -func (c *current) onSingleQuoteItalicTextElement123() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement132() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement123() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement123() + return p.cur.onSingleQuoteMonospaceTextElement132() } -func (c *current) onSingleQuoteItalicTextElement127() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement136() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement136() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement127() + return p.cur.onSingleQuoteMonospaceTextElement136() } -func (c *current) onSingleQuoteItalicTextElement118() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement127() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteItalicTextElement118() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement118() + return p.cur.onSingleQuoteMonospaceTextElement127() } -func (c *current) onSingleQuoteItalicTextElement136() (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElement145() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteItalicTextElement136() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement145() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement136() + return p.cur.onSingleQuoteMonospaceTextElement145() } -func (c *current) onSingleQuoteItalicTextElement141() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement150() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement141() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement141() + return p.cur.onSingleQuoteMonospaceTextElement150() } -func (c *current) onSingleQuoteItalicTextElement134() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement143() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteItalicTextElement134() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement143() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement134() + return p.cur.onSingleQuoteMonospaceTextElement143() } -func (c *current) onSingleQuoteItalicTextElement148() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement157() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteItalicTextElement148() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement148() + return p.cur.onSingleQuoteMonospaceTextElement157() } -func (c *current) onSingleQuoteItalicTextElement150() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement159() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteItalicTextElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement150() + return p.cur.onSingleQuoteMonospaceTextElement159() } -func (c *current) onSingleQuoteItalicTextElement152() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement161() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteItalicTextElement152() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement152() + return p.cur.onSingleQuoteMonospaceTextElement161() } -func (c *current) onSingleQuoteItalicTextElement96() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement105() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteItalicTextElement96() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement96() + return p.cur.onSingleQuoteMonospaceTextElement105() } -func (c *current) onSingleQuoteItalicTextElement154() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement163() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteItalicTextElement154() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement154() + return p.cur.onSingleQuoteMonospaceTextElement163() } -func (c *current) onSingleQuoteItalicTextElement156() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement165() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteItalicTextElement156() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement156() + return p.cur.onSingleQuoteMonospaceTextElement165() } -func (c *current) onSingleQuoteItalicTextElement158() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement167() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteItalicTextElement158() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement158() + return p.cur.onSingleQuoteMonospaceTextElement167() } -func (c *current) onSingleQuoteItalicTextElement160() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement169() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteItalicTextElement160() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement160() + return p.cur.onSingleQuoteMonospaceTextElement169() } -func (c *current) onSingleQuoteItalicTextElement162() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement171() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteItalicTextElement162() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement162() + return p.cur.onSingleQuoteMonospaceTextElement171() } -func (c *current) onSingleQuoteItalicTextElement164() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement173() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteItalicTextElement164() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement164() + return p.cur.onSingleQuoteMonospaceTextElement173() } -func (c *current) onSingleQuoteItalicTextElement166() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement175() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteItalicTextElement166() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement166() + return p.cur.onSingleQuoteMonospaceTextElement175() } -func (c *current) onSingleQuoteItalicTextElement168() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement177() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteItalicTextElement168() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement177() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement168() + return p.cur.onSingleQuoteMonospaceTextElement177() } -func (c *current) onSingleQuoteItalicTextElement172() (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElement181() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteItalicTextElement172() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement181() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement172() + return p.cur.onSingleQuoteMonospaceTextElement181() } -func (c *current) onSingleQuoteItalicTextElement175() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement184() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement175() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement175() + return p.cur.onSingleQuoteMonospaceTextElement184() } -func (c *current) onSingleQuoteItalicTextElement179() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement188() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement179() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement188() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement179() + return p.cur.onSingleQuoteMonospaceTextElement188() } -func (c *current) onSingleQuoteItalicTextElement170() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement179() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteItalicTextElement170() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement170() + return p.cur.onSingleQuoteMonospaceTextElement179() } -func (c *current) onSingleQuoteItalicTextElement188() (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElement197() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteItalicTextElement188() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement197() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement188() + return p.cur.onSingleQuoteMonospaceTextElement197() } -func (c *current) onSingleQuoteItalicTextElement193() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement202() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement193() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement193() + return p.cur.onSingleQuoteMonospaceTextElement202() } -func (c *current) onSingleQuoteItalicTextElement186() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement195() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteItalicTextElement186() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement195() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement186() + return p.cur.onSingleQuoteMonospaceTextElement195() } -func (c *current) onSingleQuoteItalicTextElement200() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement209() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteItalicTextElement200() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement200() + return p.cur.onSingleQuoteMonospaceTextElement209() } -func (c *current) onSingleQuoteItalicTextElement202() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement211() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteItalicTextElement202() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement202() + return p.cur.onSingleQuoteMonospaceTextElement211() } -func (c *current) onSingleQuoteItalicTextElement204() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement213() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteItalicTextElement204() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement204() + return p.cur.onSingleQuoteMonospaceTextElement213() } -func (c *current) onSingleQuoteItalicTextElement206() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement215() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteItalicTextElement206() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement206() + return p.cur.onSingleQuoteMonospaceTextElement215() } -func (c *current) onSingleQuoteItalicTextElement208() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement217() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuoteItalicTextElement208() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement208() + return p.cur.onSingleQuoteMonospaceTextElement217() } -func (c *current) onSingleQuoteItalicTextElement214() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement223() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteItalicTextElement214() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement214() + return p.cur.onSingleQuoteMonospaceTextElement223() } -func (c *current) onSingleQuoteItalicTextElement222() (bool, error) { +func (c *current) onSingleQuoteMonospaceTextElement231() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteItalicTextElement222() (bool, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement231() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement222() + return p.cur.onSingleQuoteMonospaceTextElement231() } -func (c *current) onSingleQuoteItalicTextElement231() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement240() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement231() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement231() + return p.cur.onSingleQuoteMonospaceTextElement240() } -func (c *current) onSingleQuoteItalicTextElement235() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement244() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement235() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement244() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement235() + return p.cur.onSingleQuoteMonospaceTextElement244() } -func (c *current) onSingleQuoteItalicTextElement241() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement250() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement241() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement241() + return p.cur.onSingleQuoteMonospaceTextElement250() } -func (c *current) onSingleQuoteItalicTextElement250() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement259() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement250() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement250() + return p.cur.onSingleQuoteMonospaceTextElement259() } -func (c *current) onSingleQuoteItalicTextElement246(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement255(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -101074,449 +105748,447 @@ func (c *current) onSingleQuoteItalicTextElement246(name interface{}) (interface } -func (p *parser) callonSingleQuoteItalicTextElement246() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement246(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement255(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement260() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement269() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement260() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement260() + return p.cur.onSingleQuoteMonospaceTextElement269() } -func (c *current) onSingleQuoteItalicTextElement256(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement265(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement256() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement256(stack["name"]) + return p.cur.onSingleQuoteMonospaceTextElement265(stack["name"]) } -func (c *current) onSingleQuoteItalicTextElement266() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement275() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement266() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement266() + return p.cur.onSingleQuoteMonospaceTextElement275() } -func (c *current) onSingleQuoteItalicTextElement227(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement236(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteItalicTextElement227() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement227(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMonospaceTextElement236(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteItalicTextElement273() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement282() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement273() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement273() + return p.cur.onSingleQuoteMonospaceTextElement282() } -func (c *current) onSingleQuoteItalicTextElement269(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement278(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteItalicTextElement269() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement269(stack["id"]) + return p.cur.onSingleQuoteMonospaceTextElement278(stack["id"]) } -func (c *current) onSingleQuoteItalicTextElement225() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement234() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement225() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement225() + return p.cur.onSingleQuoteMonospaceTextElement234() } -func (c *current) onSingleQuoteItalicTextElement277() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement286() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement277() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement277() + return p.cur.onSingleQuoteMonospaceTextElement286() } -func (c *current) onSingleQuoteItalicTextElement220(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement229(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteItalicTextElement220() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement229() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement220(stack["element"]) + return p.cur.onSingleQuoteMonospaceTextElement229(stack["element"]) } -func (c *current) onSingleQuoteItalicTextElement284() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement294() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement284() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement284() + return p.cur.onSingleQuoteMonospaceTextElement294() } -func (c *current) onSingleQuoteItalicTextElement280(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement290(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteItalicTextElement280() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement280(stack["ref"]) + return p.cur.onSingleQuoteMonospaceTextElement290(stack["ref"]) } -func (c *current) onSingleQuoteItalicTextElement292() (interface{}, error) { +func (c *current) onSingleQuoteMonospaceTextElement303() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteItalicTextElement292() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement303() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement292() + return p.cur.onSingleQuoteMonospaceTextElement303() } -func (c *current) onSingleQuoteItalicTextElement289() (interface{}, error) { - // or an italic delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onSingleQuoteMonospaceTextElement298() (interface{}, error) { + // or an monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteItalicTextElement289() (interface{}, error) { +func (p *parser) callonSingleQuoteMonospaceTextElement298() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteItalicTextElement289() + return p.cur.onSingleQuoteMonospaceTextElement298() } -func (c *current) onQuotedTextInSingleQuoteItalicText2(element interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteMonospaceText2(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonQuotedTextInSingleQuoteItalicText2() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText2(stack["element"]) + return p.cur.onQuotedTextInSingleQuoteMonospaceText2(stack["element"]) } -func (c *current) onQuotedTextInSingleQuoteItalicText13(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuoteItalicText13() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMonospaceText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteItalicText13(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInSingleQuoteMonospaceText13(stack["attributes"], stack["text"]) } -func (c *current) onEscapedItalicText5() (interface{}, error) { +func (c *current) onEscapedMonospaceText5() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedItalicText5() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText5() + return p.cur.onEscapedMonospaceText5() } -func (c *current) onEscapedItalicText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "__", elements.([]interface{})) +func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) } -func (p *parser) callonEscapedItalicText2() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText2(stack["backslashes"], stack["elements"]) + return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) } -func (c *current) onEscapedItalicText17() (interface{}, error) { +func (c *current) onEscapedMonospaceText17() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedItalicText17() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText17() + return p.cur.onEscapedMonospaceText17() } -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) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { + result := append([]interface{}{"`"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "`", result) } -func (p *parser) callonEscapedItalicText14() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText14(stack["backslashes"], stack["elements"]) + return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) } -func (c *current) onEscapedItalicText27() (interface{}, error) { +func (c *current) onEscapedMonospaceText27() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedItalicText27() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText27() + return p.cur.onEscapedMonospaceText27() } -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) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) } -func (p *parser) callonEscapedItalicText24() (interface{}, error) { +func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedItalicText24(stack["backslashes"], stack["elements"]) + return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuoteMonospaceText1(elements interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.DoubleQuoteMonospace, elements.([]interface{})) + return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonDoubleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceText1(stack["elements"]) + return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) } -func (c *current) onDoubleQuoteMonospaceTextElement13() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement13() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement13() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement13() + return p.cur.onDoubleQuoteMarkedTextElement13() } -func (c *current) onDoubleQuoteMonospaceTextElement7() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement7() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement7() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement7() + return p.cur.onDoubleQuoteMarkedTextElement7() } -func (c *current) onDoubleQuoteMonospaceTextElement16() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement16() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement16() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement16() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement16() + return p.cur.onDoubleQuoteMarkedTextElement16() } -func (c *current) onDoubleQuoteMonospaceTextElement20() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement20() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement20() + return p.cur.onDoubleQuoteMarkedTextElement20() } -func (c *current) onDoubleQuoteMonospaceTextElement26() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement26() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement26() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement26() + return p.cur.onDoubleQuoteMarkedTextElement26() } -func (c *current) onDoubleQuoteMonospaceTextElement33() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement33() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement33() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement33() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement33() + return p.cur.onDoubleQuoteMarkedTextElement33() } -func (c *current) onDoubleQuoteMonospaceTextElement40() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement40() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement40() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement40() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement40() + return p.cur.onDoubleQuoteMarkedTextElement40() } -func (c *current) onDoubleQuoteMonospaceTextElement52() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement52() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement52() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement52() + return p.cur.onDoubleQuoteMarkedTextElement52() } -func (c *current) onDoubleQuoteMonospaceTextElement54() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement54() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement54() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement54() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement54() + return p.cur.onDoubleQuoteMarkedTextElement54() } -func (c *current) onDoubleQuoteMonospaceTextElement47(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement47(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement47() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement47(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement47(stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement36(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement36(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement36() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement36(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement36(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement62() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement62() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement62() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement62() + return p.cur.onDoubleQuoteMarkedTextElement62() } -func (c *current) onDoubleQuoteMonospaceTextElement74() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement74() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement74() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement74() + return p.cur.onDoubleQuoteMarkedTextElement74() } -func (c *current) onDoubleQuoteMonospaceTextElement76() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement76() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement76() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement76() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement76() + return p.cur.onDoubleQuoteMarkedTextElement76() } -func (c *current) onDoubleQuoteMonospaceTextElement69(start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement69(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement69() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement69(stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement69(stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement58(name, start interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement58(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement58() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement58() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement58(stack["name"], stack["start"]) + return p.cur.onDoubleQuoteMarkedTextElement58(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMonospaceTextElement84() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement84() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement84() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement84() + return p.cur.onDoubleQuoteMarkedTextElement84() } -func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement80(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -101524,556 +106196,556 @@ func (c *current) onDoubleQuoteMonospaceTextElement80(name interface{}) (interfa } -func (p *parser) callonDoubleQuoteMonospaceTextElement80() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement80(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement94() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement94() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement94() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement94() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement94() + return p.cur.onDoubleQuoteMarkedTextElement94() } -func (c *current) onDoubleQuoteMonospaceTextElement90(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement90(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement90() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement90(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement90(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement31(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement31() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement31(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement105() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement105() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteMonospaceTextElement105() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement105() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement105() + return p.cur.onDoubleQuoteMarkedTextElement105() } -func (c *current) onDoubleQuoteMonospaceTextElement107() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement107() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteMonospaceTextElement107() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement107() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement107() + return p.cur.onDoubleQuoteMarkedTextElement107() } -func (c *current) onDoubleQuoteMonospaceTextElement109() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement109() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteMonospaceTextElement109() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement109() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement109() + return p.cur.onDoubleQuoteMarkedTextElement109() } -func (c *current) onDoubleQuoteMonospaceTextElement111() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement111() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteMonospaceTextElement111() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement111() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement111() + return p.cur.onDoubleQuoteMarkedTextElement111() } -func (c *current) onDoubleQuoteMonospaceTextElement113() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement113() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement113() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement113() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement113() + return p.cur.onDoubleQuoteMarkedTextElement113() } -func (c *current) onDoubleQuoteMonospaceTextElement115() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement115() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement115() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement115() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement115() + return p.cur.onDoubleQuoteMarkedTextElement115() } -func (c *current) onDoubleQuoteMonospaceTextElement117() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement117() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement117() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement117() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement117() + return p.cur.onDoubleQuoteMarkedTextElement117() } -func (c *current) onDoubleQuoteMonospaceTextElement119() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement119() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteMonospaceTextElement119() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement119() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement119() + return p.cur.onDoubleQuoteMarkedTextElement119() } -func (c *current) onDoubleQuoteMonospaceTextElement121() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement121() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteMonospaceTextElement121() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement121() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement121() + return p.cur.onDoubleQuoteMarkedTextElement121() } -func (c *current) onDoubleQuoteMonospaceTextElement125() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement125() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement125() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement125() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement125() + return p.cur.onDoubleQuoteMarkedTextElement125() } -func (c *current) onDoubleQuoteMonospaceTextElement128() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement128() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement128() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement128() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement128() + return p.cur.onDoubleQuoteMarkedTextElement128() } -func (c *current) onDoubleQuoteMonospaceTextElement132() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement132() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement132() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement132() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement132() + return p.cur.onDoubleQuoteMarkedTextElement132() } -func (c *current) onDoubleQuoteMonospaceTextElement123() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement123() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonDoubleQuoteMonospaceTextElement123() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement123() + return p.cur.onDoubleQuoteMarkedTextElement123() } -func (c *current) onDoubleQuoteMonospaceTextElement141() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement141() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement141() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement141() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement141() + return p.cur.onDoubleQuoteMarkedTextElement141() } -func (c *current) onDoubleQuoteMonospaceTextElement146() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement146() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement146() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement146() + return p.cur.onDoubleQuoteMarkedTextElement146() } -func (c *current) onDoubleQuoteMonospaceTextElement139() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement139() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonDoubleQuoteMonospaceTextElement139() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement139() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement139() + return p.cur.onDoubleQuoteMarkedTextElement139() } -func (c *current) onDoubleQuoteMonospaceTextElement153() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement153() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteMonospaceTextElement153() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement153() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement153() + return p.cur.onDoubleQuoteMarkedTextElement153() } -func (c *current) onDoubleQuoteMonospaceTextElement155() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement155() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonDoubleQuoteMonospaceTextElement155() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement155() + return p.cur.onDoubleQuoteMarkedTextElement155() } -func (c *current) onDoubleQuoteMonospaceTextElement157() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement157() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonDoubleQuoteMonospaceTextElement157() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement157() + return p.cur.onDoubleQuoteMarkedTextElement157() } -func (c *current) onDoubleQuoteMonospaceTextElement101() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement101() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement101() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement101() + return p.cur.onDoubleQuoteMarkedTextElement101() } -func (c *current) onDoubleQuoteMonospaceTextElement159() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement159() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteMonospaceTextElement159() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement159() + return p.cur.onDoubleQuoteMarkedTextElement159() } -func (c *current) onDoubleQuoteMonospaceTextElement161() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement161() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteMonospaceTextElement161() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement161() + return p.cur.onDoubleQuoteMarkedTextElement161() } -func (c *current) onDoubleQuoteMonospaceTextElement163() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement163() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteMonospaceTextElement163() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement163() + return p.cur.onDoubleQuoteMarkedTextElement163() } -func (c *current) onDoubleQuoteMonospaceTextElement165() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement165() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteMonospaceTextElement165() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement165() + return p.cur.onDoubleQuoteMarkedTextElement165() } -func (c *current) onDoubleQuoteMonospaceTextElement167() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement167() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement167() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement167() + return p.cur.onDoubleQuoteMarkedTextElement167() } -func (c *current) onDoubleQuoteMonospaceTextElement169() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement169() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement169() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement169() + return p.cur.onDoubleQuoteMarkedTextElement169() } -func (c *current) onDoubleQuoteMonospaceTextElement171() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement171() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteMonospaceTextElement171() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement171() + return p.cur.onDoubleQuoteMarkedTextElement171() } -func (c *current) onDoubleQuoteMonospaceTextElement173() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement173() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteMonospaceTextElement173() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement173() + return p.cur.onDoubleQuoteMarkedTextElement173() } -func (c *current) onDoubleQuoteMonospaceTextElement177() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement177() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement177() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement177() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement177() + return p.cur.onDoubleQuoteMarkedTextElement177() } -func (c *current) onDoubleQuoteMonospaceTextElement180() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement180() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement180() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement180() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement180() + return p.cur.onDoubleQuoteMarkedTextElement180() } -func (c *current) onDoubleQuoteMonospaceTextElement184() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement184() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement184() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement184() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement184() + return p.cur.onDoubleQuoteMarkedTextElement184() } -func (c *current) onDoubleQuoteMonospaceTextElement175() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement175() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonDoubleQuoteMonospaceTextElement175() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement175() + return p.cur.onDoubleQuoteMarkedTextElement175() } -func (c *current) onDoubleQuoteMonospaceTextElement193() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement193() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement193() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement193() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement193() + return p.cur.onDoubleQuoteMarkedTextElement193() } -func (c *current) onDoubleQuoteMonospaceTextElement198() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement198() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement198() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement198() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement198() + return p.cur.onDoubleQuoteMarkedTextElement198() } -func (c *current) onDoubleQuoteMonospaceTextElement191() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement191() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonDoubleQuoteMonospaceTextElement191() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement191() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement191() + return p.cur.onDoubleQuoteMarkedTextElement191() } -func (c *current) onDoubleQuoteMonospaceTextElement205() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement205() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteMonospaceTextElement205() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement205() + return p.cur.onDoubleQuoteMarkedTextElement205() } -func (c *current) onDoubleQuoteMonospaceTextElement207() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement207() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteMonospaceTextElement207() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement207() + return p.cur.onDoubleQuoteMarkedTextElement207() } -func (c *current) onDoubleQuoteMonospaceTextElement209() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement209() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonDoubleQuoteMonospaceTextElement209() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement209() + return p.cur.onDoubleQuoteMarkedTextElement209() } -func (c *current) onDoubleQuoteMonospaceTextElement211() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement211() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonDoubleQuoteMonospaceTextElement211() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement211() + return p.cur.onDoubleQuoteMarkedTextElement211() } -func (c *current) onDoubleQuoteMonospaceTextElement213() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement213() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonDoubleQuoteMonospaceTextElement213() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement213() + return p.cur.onDoubleQuoteMarkedTextElement213() } -func (c *current) onDoubleQuoteMonospaceTextElement219() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement219() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement219() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement219() + return p.cur.onDoubleQuoteMarkedTextElement219() } -func (c *current) onDoubleQuoteMonospaceTextElement227() (bool, error) { +func (c *current) onDoubleQuoteMarkedTextElement227() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement227() (bool, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement227() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement227() + return p.cur.onDoubleQuoteMarkedTextElement227() } -func (c *current) onDoubleQuoteMonospaceTextElement236() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement236() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement236() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement236() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement236() + return p.cur.onDoubleQuoteMarkedTextElement236() } -func (c *current) onDoubleQuoteMonospaceTextElement240() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement240() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement240() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement240() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement240() + return p.cur.onDoubleQuoteMarkedTextElement240() } -func (c *current) onDoubleQuoteMonospaceTextElement246() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement246() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement246() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement246() + return p.cur.onDoubleQuoteMarkedTextElement246() } -func (c *current) onDoubleQuoteMonospaceTextElement255() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement255() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement255() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement255() + return p.cur.onDoubleQuoteMarkedTextElement255() } -func (c *current) onDoubleQuoteMonospaceTextElement251(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement251(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -102081,425 +106753,424 @@ func (c *current) onDoubleQuoteMonospaceTextElement251(name interface{}) (interf } -func (p *parser) callonDoubleQuoteMonospaceTextElement251() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement251() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement251(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement251(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement265() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement265() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement265() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement265() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement265() + return p.cur.onDoubleQuoteMarkedTextElement265() } -func (c *current) onDoubleQuoteMonospaceTextElement261(name interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement261(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement261() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement261(stack["name"]) + return p.cur.onDoubleQuoteMarkedTextElement261(stack["name"]) } -func (c *current) onDoubleQuoteMonospaceTextElement271() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement271() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement271() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement271() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement271() + return p.cur.onDoubleQuoteMarkedTextElement271() } -func (c *current) onDoubleQuoteMonospaceTextElement232(id, label interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement232(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonDoubleQuoteMonospaceTextElement232() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement232() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement232(stack["id"], stack["label"]) + return p.cur.onDoubleQuoteMarkedTextElement232(stack["id"], stack["label"]) } -func (c *current) onDoubleQuoteMonospaceTextElement278() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement278() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement278() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement278() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement278() + return p.cur.onDoubleQuoteMarkedTextElement278() } -func (c *current) onDoubleQuoteMonospaceTextElement274(id interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement274(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonDoubleQuoteMonospaceTextElement274() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement274() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement274(stack["id"]) + return p.cur.onDoubleQuoteMarkedTextElement274(stack["id"]) } -func (c *current) onDoubleQuoteMonospaceTextElement230() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement230() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement230() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement230() + return p.cur.onDoubleQuoteMarkedTextElement230() } -func (c *current) onDoubleQuoteMonospaceTextElement282() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement282() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement282() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement282() + return p.cur.onDoubleQuoteMarkedTextElement282() } -func (c *current) onDoubleQuoteMonospaceTextElement225(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement225(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement225() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement225(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement225(stack["element"]) } -func (c *current) onDoubleQuoteMonospaceTextElement290() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement289() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement290() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement290() + return p.cur.onDoubleQuoteMarkedTextElement289() } -func (c *current) onDoubleQuoteMonospaceTextElement286(ref interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement285(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement286() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement285() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement286(stack["ref"]) + return p.cur.onDoubleQuoteMarkedTextElement285(stack["ref"]) } -func (c *current) onDoubleQuoteMonospaceTextElement298() (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement297() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement298() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement297() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement298() + return p.cur.onDoubleQuoteMarkedTextElement297() } -func (c *current) onDoubleQuoteMonospaceTextElement295() (interface{}, error) { - // ` or a monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onDoubleQuoteMarkedTextElement294() (interface{}, error) { + // or a marked delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMonospaceTextElement295() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement294() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement295() + return p.cur.onDoubleQuoteMarkedTextElement294() } -func (c *current) onDoubleQuoteMonospaceTextElement1(element interface{}) (interface{}, error) { +func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonDoubleQuoteMonospaceTextElement1() (interface{}, error) { +func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMonospaceTextElement1(stack["element"]) + return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText2(element interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleMarkedBoldText2(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText2() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText2(stack["element"]) + return p.cur.onQuotedTextInDoubleMarkedBoldText2(stack["element"]) } -func (c *current) onQuotedTextInDoubleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInDoubleMarkedBoldText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInDoubleQuoteMonospaceText13() (interface{}, error) { +func (p *parser) callonQuotedTextInDoubleMarkedBoldText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleQuoteMonospaceText13(stack["attributes"], stack["text"]) + return p.cur.onQuotedTextInDoubleMarkedBoldText13(stack["attributes"], stack["text"]) } -func (c *current) onSingleQuoteMonospaceText1(elements interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { - return types.NewQuotedText(types.SingleQuoteMonospace, elements.([]interface{})) + return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) } -func (p *parser) callonSingleQuoteMonospaceText1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceText1(stack["elements"]) + return p.cur.onSingleQuoteMarkedText1(stack["elements"]) } -func (c *current) onSingleQuoteMonospaceTextElements7() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElements7() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElements7() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements7() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements7() + return p.cur.onSingleQuoteMarkedTextElements7() } -func (c *current) onSingleQuoteMonospaceTextElements12(elements interface{}) (bool, error) { +func (c *current) onSingleQuoteMarkedTextElements12(elements interface{}) (bool, error) { return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces } -func (p *parser) callonSingleQuoteMonospaceTextElements12() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElements12() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements12(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElements12(stack["elements"]) } -func (c *current) onSingleQuoteMonospaceTextElements1(elements interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { return elements, nil } -func (p *parser) callonSingleQuoteMonospaceTextElements1() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElements1(stack["elements"]) + return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) } -func (c *current) onSingleQuoteMonospaceTextElement2() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSingleQuoteMarkedTextElement8() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement2() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement8() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement2() + return p.cur.onSingleQuoteMarkedTextElement8() } -func (c *current) onSingleQuoteMonospaceTextElement11() (interface{}, error) { - // allow ` +func (c *current) onSingleQuoteMarkedTextElement2() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement11() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement11() + return p.cur.onSingleQuoteMarkedTextElement2() } -func (c *current) onSingleQuoteMonospaceTextElement20() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement11() (interface{}, error) { // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement20() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement11() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement20() + return p.cur.onSingleQuoteMarkedTextElement11() } -func (c *current) onSingleQuoteMonospaceTextElement24() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement15() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement24() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement24() + return p.cur.onSingleQuoteMarkedTextElement15() } -func (c *current) onSingleQuoteMonospaceTextElement30() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement21() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement30() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement21() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement30() + return p.cur.onSingleQuoteMarkedTextElement21() } -func (c *current) onSingleQuoteMonospaceTextElement37() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement28() (bool, error) { return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement37() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement28() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement37() + return p.cur.onSingleQuoteMarkedTextElement28() } -func (c *current) onSingleQuoteMonospaceTextElement44() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement35() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement44() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement44() + return p.cur.onSingleQuoteMarkedTextElement35() } -func (c *current) onSingleQuoteMonospaceTextElement56() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement47() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement56() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement47() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement56() + return p.cur.onSingleQuoteMarkedTextElement47() } -func (c *current) onSingleQuoteMonospaceTextElement58() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement49() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement58() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement58() + return p.cur.onSingleQuoteMarkedTextElement49() } -func (c *current) onSingleQuoteMonospaceTextElement51(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement42(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement51() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement51(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement42(stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement40(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement31(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement40() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement31() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement40(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement31(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement66() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement57() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement66() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement66() + return p.cur.onSingleQuoteMarkedTextElement57() } -func (c *current) onSingleQuoteMonospaceTextElement78() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement69() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement78() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement69() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement78() + return p.cur.onSingleQuoteMarkedTextElement69() } -func (c *current) onSingleQuoteMonospaceTextElement80() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement71() (interface{}, error) { return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement80() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement71() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement80() + return p.cur.onSingleQuoteMarkedTextElement71() } -func (c *current) onSingleQuoteMonospaceTextElement73(start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement64(start interface{}) (interface{}, error) { return start, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement73() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement73(stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement64(stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement62(name, start interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement53(name, start interface{}) (interface{}, error) { return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement62() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement62(stack["name"], stack["start"]) + return p.cur.onSingleQuoteMarkedTextElement53(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMonospaceTextElement88() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement79() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement88() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement88() + return p.cur.onSingleQuoteMarkedTextElement79() } -func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement75(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -102507,556 +107178,556 @@ func (c *current) onSingleQuoteMonospaceTextElement84(name interface{}) (interfa } -func (p *parser) callonSingleQuoteMonospaceTextElement84() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement84(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement98() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement89() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement98() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement89() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement98() + return p.cur.onSingleQuoteMarkedTextElement89() } -func (c *current) onSingleQuoteMonospaceTextElement94(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement85(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement94() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement94(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement85(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement35(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement35() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement35(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) } -func (c *current) onSingleQuoteMonospaceTextElement109() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement100() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteMonospaceTextElement109() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement109() + return p.cur.onSingleQuoteMarkedTextElement100() } -func (c *current) onSingleQuoteMonospaceTextElement111() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement102() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteMonospaceTextElement111() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement111() + return p.cur.onSingleQuoteMarkedTextElement102() } -func (c *current) onSingleQuoteMonospaceTextElement113() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement104() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteMonospaceTextElement113() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement104() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement113() + return p.cur.onSingleQuoteMarkedTextElement104() } -func (c *current) onSingleQuoteMonospaceTextElement115() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement106() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteMonospaceTextElement115() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement115() + return p.cur.onSingleQuoteMarkedTextElement106() } -func (c *current) onSingleQuoteMonospaceTextElement117() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement108() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteMonospaceTextElement117() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement108() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement117() + return p.cur.onSingleQuoteMarkedTextElement108() } -func (c *current) onSingleQuoteMonospaceTextElement119() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement110() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteMonospaceTextElement119() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement119() + return p.cur.onSingleQuoteMarkedTextElement110() } -func (c *current) onSingleQuoteMonospaceTextElement121() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement112() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteMonospaceTextElement121() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement112() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement121() + return p.cur.onSingleQuoteMarkedTextElement112() } -func (c *current) onSingleQuoteMonospaceTextElement123() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement114() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteMonospaceTextElement123() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement114() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement123() + return p.cur.onSingleQuoteMarkedTextElement114() } -func (c *current) onSingleQuoteMonospaceTextElement125() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement116() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteMonospaceTextElement125() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement125() + return p.cur.onSingleQuoteMarkedTextElement116() } -func (c *current) onSingleQuoteMonospaceTextElement129() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement120() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement129() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement120() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement129() + return p.cur.onSingleQuoteMarkedTextElement120() } -func (c *current) onSingleQuoteMonospaceTextElement132() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement123() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement132() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement123() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement132() + return p.cur.onSingleQuoteMarkedTextElement123() } -func (c *current) onSingleQuoteMonospaceTextElement136() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement127() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement136() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement127() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement136() + return p.cur.onSingleQuoteMarkedTextElement127() } -func (c *current) onSingleQuoteMonospaceTextElement127() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement118() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteMonospaceTextElement127() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement118() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement127() + return p.cur.onSingleQuoteMarkedTextElement118() } -func (c *current) onSingleQuoteMonospaceTextElement145() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement136() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement145() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement136() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement145() + return p.cur.onSingleQuoteMarkedTextElement136() } -func (c *current) onSingleQuoteMonospaceTextElement150() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement141() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement150() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement150() + return p.cur.onSingleQuoteMarkedTextElement141() } -func (c *current) onSingleQuoteMonospaceTextElement143() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement134() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteMonospaceTextElement143() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement143() + return p.cur.onSingleQuoteMarkedTextElement134() } -func (c *current) onSingleQuoteMonospaceTextElement157() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement148() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteMonospaceTextElement157() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement148() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement157() + return p.cur.onSingleQuoteMarkedTextElement148() } -func (c *current) onSingleQuoteMonospaceTextElement159() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement150() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteMonospaceTextElement159() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement150() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement159() + return p.cur.onSingleQuoteMarkedTextElement150() } -func (c *current) onSingleQuoteMonospaceTextElement161() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement152() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteMonospaceTextElement161() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement152() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement161() + return p.cur.onSingleQuoteMarkedTextElement152() } -func (c *current) onSingleQuoteMonospaceTextElement105() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement96() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteMonospaceTextElement105() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement105() + return p.cur.onSingleQuoteMarkedTextElement96() } -func (c *current) onSingleQuoteMonospaceTextElement163() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement154() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteMonospaceTextElement163() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement154() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement163() + return p.cur.onSingleQuoteMarkedTextElement154() } -func (c *current) onSingleQuoteMonospaceTextElement165() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement156() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteMonospaceTextElement165() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement156() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement165() + return p.cur.onSingleQuoteMarkedTextElement156() } -func (c *current) onSingleQuoteMonospaceTextElement167() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement158() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteMonospaceTextElement167() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement158() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement167() + return p.cur.onSingleQuoteMarkedTextElement158() } -func (c *current) onSingleQuoteMonospaceTextElement169() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement160() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteMonospaceTextElement169() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement160() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement169() + return p.cur.onSingleQuoteMarkedTextElement160() } -func (c *current) onSingleQuoteMonospaceTextElement171() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement162() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteMonospaceTextElement171() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement162() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement171() + return p.cur.onSingleQuoteMarkedTextElement162() } -func (c *current) onSingleQuoteMonospaceTextElement173() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement164() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteMonospaceTextElement173() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement164() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement173() + return p.cur.onSingleQuoteMarkedTextElement164() } -func (c *current) onSingleQuoteMonospaceTextElement175() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement166() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteMonospaceTextElement175() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement166() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement175() + return p.cur.onSingleQuoteMarkedTextElement166() } -func (c *current) onSingleQuoteMonospaceTextElement177() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement168() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteMonospaceTextElement177() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement168() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement177() + return p.cur.onSingleQuoteMarkedTextElement168() } -func (c *current) onSingleQuoteMonospaceTextElement181() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement172() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement181() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement172() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement181() + return p.cur.onSingleQuoteMarkedTextElement172() } -func (c *current) onSingleQuoteMonospaceTextElement184() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement175() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement184() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement175() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement184() + return p.cur.onSingleQuoteMarkedTextElement175() } -func (c *current) onSingleQuoteMonospaceTextElement188() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement179() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement188() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement179() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement188() + return p.cur.onSingleQuoteMarkedTextElement179() } -func (c *current) onSingleQuoteMonospaceTextElement179() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement170() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteMonospaceTextElement179() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement170() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement179() + return p.cur.onSingleQuoteMarkedTextElement170() } -func (c *current) onSingleQuoteMonospaceTextElement197() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement188() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement197() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement188() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement197() + return p.cur.onSingleQuoteMarkedTextElement188() } -func (c *current) onSingleQuoteMonospaceTextElement202() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement193() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement202() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement193() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement202() + return p.cur.onSingleQuoteMarkedTextElement193() } -func (c *current) onSingleQuoteMonospaceTextElement195() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement186() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteMonospaceTextElement195() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement186() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement195() + return p.cur.onSingleQuoteMarkedTextElement186() } -func (c *current) onSingleQuoteMonospaceTextElement209() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement200() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteMonospaceTextElement209() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement200() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement209() + return p.cur.onSingleQuoteMarkedTextElement200() } -func (c *current) onSingleQuoteMonospaceTextElement211() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement202() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteMonospaceTextElement211() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement202() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement211() + return p.cur.onSingleQuoteMarkedTextElement202() } -func (c *current) onSingleQuoteMonospaceTextElement213() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement204() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteMonospaceTextElement213() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement204() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement213() + return p.cur.onSingleQuoteMarkedTextElement204() } -func (c *current) onSingleQuoteMonospaceTextElement215() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement206() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteMonospaceTextElement215() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement206() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement215() + return p.cur.onSingleQuoteMarkedTextElement206() } -func (c *current) onSingleQuoteMonospaceTextElement217() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement208() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuoteMonospaceTextElement217() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement208() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement217() + return p.cur.onSingleQuoteMarkedTextElement208() } -func (c *current) onSingleQuoteMonospaceTextElement223() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement214() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteMonospaceTextElement223() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement214() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement223() + return p.cur.onSingleQuoteMarkedTextElement214() } -func (c *current) onSingleQuoteMonospaceTextElement231() (bool, error) { +func (c *current) onSingleQuoteMarkedTextElement222() (bool, error) { return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement231() (bool, error) { +func (p *parser) callonSingleQuoteMarkedTextElement222() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement231() + return p.cur.onSingleQuoteMarkedTextElement222() } -func (c *current) onSingleQuoteMonospaceTextElement240() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement231() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement240() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement231() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement240() + return p.cur.onSingleQuoteMarkedTextElement231() } -func (c *current) onSingleQuoteMonospaceTextElement244() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement235() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement244() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement235() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement244() + return p.cur.onSingleQuoteMarkedTextElement235() } -func (c *current) onSingleQuoteMonospaceTextElement250() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement241() (interface{}, error) { // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement250() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement250() + return p.cur.onSingleQuoteMarkedTextElement241() } -func (c *current) onSingleQuoteMonospaceTextElement259() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement250() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement259() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement250() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement259() + return p.cur.onSingleQuoteMarkedTextElement250() } -func (c *current) onSingleQuoteMonospaceTextElement255(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement246(name interface{}) (interface{}, error) { log.Debug("matching escaped attribute reference") // return types.NewStringElement("{"+name.(string)+"}") @@ -103064,2325 +107735,2139 @@ func (c *current) onSingleQuoteMonospaceTextElement255(name interface{}) (interf } -func (p *parser) callonSingleQuoteMonospaceTextElement255() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement246() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement255(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement246(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement269() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement260() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement269() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement260() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement269() + return p.cur.onSingleQuoteMarkedTextElement260() } -func (c *current) onSingleQuoteMonospaceTextElement265(name interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement256(name interface{}) (interface{}, error) { return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement265() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement256() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement265(stack["name"]) + return p.cur.onSingleQuoteMarkedTextElement256(stack["name"]) } -func (c *current) onSingleQuoteMonospaceTextElement275() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement266() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement275() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement266() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement275() + return p.cur.onSingleQuoteMarkedTextElement266() } -func (c *current) onSingleQuoteMonospaceTextElement236(id, label interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement227(id, label interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, label) } -func (p *parser) callonSingleQuoteMonospaceTextElement236() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement227() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement236(stack["id"], stack["label"]) + return p.cur.onSingleQuoteMarkedTextElement227(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteMonospaceTextElement282() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement273() (interface{}, error) { // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement282() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement273() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement282() + return p.cur.onSingleQuoteMarkedTextElement273() } -func (c *current) onSingleQuoteMonospaceTextElement278(id interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement269(id interface{}) (interface{}, error) { return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteMonospaceTextElement278() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement278(stack["id"]) + return p.cur.onSingleQuoteMarkedTextElement269(stack["id"]) } -func (c *current) onSingleQuoteMonospaceTextElement234() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement225() (interface{}, error) { return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement234() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement234() + return p.cur.onSingleQuoteMarkedTextElement225() } -func (c *current) onSingleQuoteMonospaceTextElement286() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement277() (interface{}, error) { return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement286() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement277() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement286() + return p.cur.onSingleQuoteMarkedTextElement277() } -func (c *current) onSingleQuoteMonospaceTextElement229(element interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement220(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteMonospaceTextElement229() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement220() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement229(stack["element"]) + return p.cur.onSingleQuoteMarkedTextElement220(stack["element"]) } -func (c *current) onSingleQuoteMonospaceTextElement294() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement284() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement294() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement284() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement294() + return p.cur.onSingleQuoteMarkedTextElement284() } -func (c *current) onSingleQuoteMonospaceTextElement290(ref interface{}) (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement280(ref interface{}) (interface{}, error) { return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonSingleQuoteMonospaceTextElement290() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement290(stack["ref"]) + return p.cur.onSingleQuoteMarkedTextElement280(stack["ref"]) } -func (c *current) onSingleQuoteMonospaceTextElement303() (interface{}, error) { +func (c *current) onSingleQuoteMarkedTextElement292() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMonospaceTextElement303() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement292() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement303() + return p.cur.onSingleQuoteMarkedTextElement292() } -func (c *current) onSingleQuoteMonospaceTextElement298() (interface{}, error) { - // or an monospace delimiter when immediately followed by an alphanum (ie, in the middle of some text) +func (c *current) onSingleQuoteMarkedTextElement289() (interface{}, error) { + // or a mark delimiter when immediately followed by an alphanum (ie, in the middle of some text) return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMonospaceTextElement298() (interface{}, error) { +func (p *parser) callonSingleQuoteMarkedTextElement289() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMonospaceTextElement298() + return p.cur.onSingleQuoteMarkedTextElement289() } -func (c *current) onQuotedTextInSingleQuoteMonospaceText2(element interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteMarkedText2(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText2() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText2(stack["element"]) + return p.cur.onQuotedTextInSingleQuoteMarkedText2(stack["element"]) } -func (c *current) onQuotedTextInSingleQuoteMonospaceText13(attributes, text interface{}) (interface{}, error) { +func (c *current) onQuotedTextInSingleQuoteMarkedText13(attributes, text interface{}) (interface{}, error) { return text.(*types.QuotedText).WithAttributes(attributes) } -func (p *parser) callonQuotedTextInSingleQuoteMonospaceText13() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onQuotedTextInSingleQuoteMonospaceText13(stack["attributes"], stack["text"]) -} - -func (c *current) onEscapedMonospaceText5() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonEscapedMonospaceText5() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedMonospaceText5() -} - -func (c *current) onEscapedMonospaceText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "``", elements.([]interface{})) - -} - -func (p *parser) callonEscapedMonospaceText2() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedMonospaceText2(stack["backslashes"], stack["elements"]) -} - -func (c *current) onEscapedMonospaceText17() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonEscapedMonospaceText17() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedMonospaceText17() -} - -func (c *current) onEscapedMonospaceText14(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"`"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "`", result) - -} - -func (p *parser) callonEscapedMonospaceText14() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedMonospaceText14(stack["backslashes"], stack["elements"]) -} - -func (c *current) onEscapedMonospaceText27() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonEscapedMonospaceText27() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedMonospaceText27() -} - -func (c *current) onEscapedMonospaceText24(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "`", elements.([]interface{})) - -} - -func (p *parser) callonEscapedMonospaceText24() (interface{}, error) { +func (p *parser) callonQuotedTextInSingleQuoteMarkedText13() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMonospaceText24(stack["backslashes"], stack["elements"]) + return p.cur.onQuotedTextInSingleQuoteMarkedText13(stack["attributes"], stack["text"]) } -func (c *current) onDoubleQuoteMarkedText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.DoubleQuoteMarked, elements.([]interface{})) +func (c *current) onEscapedMarkedText5() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonEscapedMarkedText5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedText1(stack["elements"]) + return p.cur.onEscapedMarkedText5() } -func (c *current) onDoubleQuoteMarkedTextElement13() (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) callonDoubleQuoteMarkedTextElement13() (interface{}, error) { +func (p *parser) callonEscapedMarkedText2() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement13() + return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement7() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onEscapedMarkedText17() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement7() (interface{}, error) { +func (p *parser) callonEscapedMarkedText17() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement7() + return p.cur.onEscapedMarkedText17() } -func (c *current) onDoubleQuoteMarkedTextElement16() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { + result := append([]interface{}{"#"}, elements.([]interface{})) + return types.NewEscapedQuotedText(backslashes.(string), "#", result) } -func (p *parser) callonDoubleQuoteMarkedTextElement16() (interface{}, error) { +func (p *parser) callonEscapedMarkedText14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement16() + return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement20() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onEscapedMarkedText27() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement20() (interface{}, error) { +func (p *parser) callonEscapedMarkedText27() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement20() + return p.cur.onEscapedMarkedText27() } -func (c *current) onDoubleQuoteMarkedTextElement26() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { + return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) + } -func (p *parser) callonDoubleQuoteMarkedTextElement26() (interface{}, error) { +func (p *parser) callonEscapedMarkedText24() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement26() + return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement33() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSubscript, element) } -func (p *parser) callonDoubleQuoteMarkedTextElement33() (bool, error) { +func (p *parser) callonSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement33() + return p.cur.onSubscriptText1(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement40() (interface{}, error) { - return string(c.text), nil +func (c *current) onSubscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '~' + return c.text, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement40() (interface{}, error) { +func (p *parser) callonSubscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement40() + return p.cur.onSubscriptTextElement3() } -func (c *current) onDoubleQuoteMarkedTextElement52() (interface{}, error) { +func (c *current) onEscapedSubscriptText4() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement52() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement52() + return p.cur.onEscapedSubscriptText4() } -func (c *current) onDoubleQuoteMarkedTextElement54() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { + // simple punctuation must be evaluated last + return types.NewEscapedQuotedText(backslashes.(string), "~", element) } -func (p *parser) callonDoubleQuoteMarkedTextElement54() (interface{}, error) { +func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement54() + return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement47(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { + // wraps a single word + return types.NewQuotedText(types.SingleQuoteSuperscript, element) } -func (p *parser) callonDoubleQuoteMarkedTextElement47() (interface{}, error) { +func (p *parser) callonSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement47(stack["start"]) + return p.cur.onSuperscriptText1(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement36(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSuperscriptTextElement3() (interface{}, error) { + // anything except spaces, EOL or '^' + return c.text, nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement36() (interface{}, error) { +func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement36(stack["name"], stack["start"]) + return p.cur.onSuperscriptTextElement3() } -func (c *current) onDoubleQuoteMarkedTextElement62() (interface{}, error) { +func (c *current) onEscapedSuperscriptText4() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement62() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement62() + return p.cur.onEscapedSuperscriptText4() } -func (c *current) onDoubleQuoteMarkedTextElement74() (interface{}, error) { - 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) callonDoubleQuoteMarkedTextElement74() (interface{}, error) { +func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement74() + return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement76() (interface{}, error) { +func (c *current) onSection3() (bool, error) { - return strconv.Atoi(string(c.text)) + return !c.isWithinDelimitedBlock(), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement76() (interface{}, error) { +func (p *parser) callonSection3() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement76() + return p.cur.onSection3() } -func (c *current) onDoubleQuoteMarkedTextElement69(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSection5() (interface{}, error) { + + // `=` is level 0, `==` is level 1, etc. + return (len(c.text) - 1), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement69() (interface{}, error) { +func (p *parser) callonSection5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement69(stack["start"]) + return p.cur.onSection5() } -func (c *current) onDoubleQuoteMarkedTextElement58(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +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) callonDoubleQuoteMarkedTextElement58() (interface{}, error) { +func (p *parser) callonSection8() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement58(stack["name"], stack["start"]) + return p.cur.onSection8(stack["level"]) } -func (c *current) onDoubleQuoteMarkedTextElement84() (interface{}, error) { +func (c *current) onSection9(level interface{}) (interface{}, error) { + // log.Debug("matched multiple spaces") return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement84() (interface{}, error) { +func (p *parser) callonSection9() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement84() + return p.cur.onSection9(stack["level"]) } -func (c *current) onDoubleQuoteMarkedTextElement80(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) - +func (c *current) onSection15() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement80() (interface{}, error) { +func (p *parser) callonSection15() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement80(stack["name"]) + return p.cur.onSection15() } -func (c *current) onDoubleQuoteMarkedTextElement94() (interface{}, error) { - return string(c.text), nil +func (c *current) onSection1(level, title interface{}) (interface{}, error) { + return types.NewSection(level.(int), title.([]interface{})) } -func (p *parser) callonDoubleQuoteMarkedTextElement94() (interface{}, error) { +func (p *parser) callonSection1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement94() + return p.cur.onSection1(stack["level"], stack["title"]) } -func (c *current) onDoubleQuoteMarkedTextElement90(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onSectionTitle3() error { + // enable substitutions + c.state[enabledSubstitutions] = headerSubstitutions() + return nil } -func (p *parser) callonDoubleQuoteMarkedTextElement90() (interface{}, error) { +func (p *parser) callonSectionTitle3() error { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement90(stack["name"]) + return p.cur.onSectionTitle3() } -func (c *current) onDoubleQuoteMarkedTextElement31(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSectionTitle1(elements interface{}) (interface{}, error) { + + return types.NewInlineElements(elements) } -func (p *parser) callonDoubleQuoteMarkedTextElement31() (interface{}, error) { +func (p *parser) callonSectionTitle1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement31(stack["element"]) + return p.cur.onSectionTitle1(stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement105() (interface{}, error) { - return types.NewSymbol("\"`") - +func (c *current) onSectionTitleElement5() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement105() (interface{}, error) { +func (p *parser) callonSectionTitleElement5() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement105() + return p.cur.onSectionTitleElement5() } -func (c *current) onDoubleQuoteMarkedTextElement107() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onSectionTitleElement14() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement107() (interface{}, error) { +func (p *parser) callonSectionTitleElement14() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement107() + return p.cur.onSectionTitleElement14() } -func (c *current) onDoubleQuoteMarkedTextElement109() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onSectionTitleElement23() (interface{}, error) { + // allow ` + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement109() (interface{}, error) { +func (p *parser) callonSectionTitleElement23() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement109() + return p.cur.onSectionTitleElement23() } -func (c *current) onDoubleQuoteMarkedTextElement111() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSectionTitleElement35() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement111() (interface{}, error) { +func (p *parser) callonSectionTitleElement35() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement111() + return p.cur.onSectionTitleElement35() } -func (c *current) onDoubleQuoteMarkedTextElement113() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSectionTitleElement46() (interface{}, error) { + // spaces, commas and dots are allowed in this syntax + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement113() (interface{}, error) { +func (p *parser) callonSectionTitleElement46() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement113() + return p.cur.onSectionTitleElement46() } -func (c *current) onDoubleQuoteMarkedTextElement115() (interface{}, error) { - return types.NewSymbol("(TM)") - +func (c *current) onSectionTitleElement53() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement115() (interface{}, error) { +func (p *parser) callonSectionTitleElement53() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement115() + return p.cur.onSectionTitleElement53() } -func (c *current) onDoubleQuoteMarkedTextElement117() (interface{}, error) { - return types.NewSymbol("(R)") - +func (c *current) onSectionTitleElement49(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonDoubleQuoteMarkedTextElement117() (interface{}, error) { +func (p *parser) callonSectionTitleElement49() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement117() + return p.cur.onSectionTitleElement49(stack["ref"]) } -func (c *current) onDoubleQuoteMarkedTextElement119() (interface{}, error) { - return types.NewSymbol("...") +func (c *current) onSectionTitleElement59() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement119() (interface{}, error) { +func (p *parser) callonSectionTitleElement59() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement119() + return p.cur.onSectionTitleElement59() } -func (c *current) onDoubleQuoteMarkedTextElement121() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onSectionTitleElement66() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement121() (interface{}, error) { +func (p *parser) callonSectionTitleElement66() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement121() + return p.cur.onSectionTitleElement66() } -func (c *current) onDoubleQuoteMarkedTextElement125() (bool, error) { - return c.isPreceededBySpace(), nil +func (c *current) onSectionTitleElement78() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement125() (bool, error) { +func (p *parser) callonSectionTitleElement78() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement125() + return p.cur.onSectionTitleElement78() } -func (c *current) onDoubleQuoteMarkedTextElement128() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement80() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement128() (interface{}, error) { +func (p *parser) callonSectionTitleElement80() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement128() + return p.cur.onSectionTitleElement80() } -func (c *current) onDoubleQuoteMarkedTextElement132() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSectionTitleElement73(start interface{}) (interface{}, error) { + return start, nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement132() (interface{}, error) { +func (p *parser) callonSectionTitleElement73() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement132() + return p.cur.onSectionTitleElement73(stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement123() (interface{}, error) { - return types.NewSymbol(" -- ") - +func (c *current) onSectionTitleElement62(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement123() (interface{}, error) { +func (p *parser) callonSectionTitleElement62() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement123() + return p.cur.onSectionTitleElement62(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement141() (bool, error) { - return c.isPreceededByAlphanum(), nil +func (c *current) onSectionTitleElement88() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement141() (bool, error) { +func (p *parser) callonSectionTitleElement88() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement141() + return p.cur.onSectionTitleElement88() } -func (c *current) onDoubleQuoteMarkedTextElement146() (interface{}, error) { - // TODO: just use "\n" +func (c *current) onSectionTitleElement100() (interface{}, error) { return string(c.text), nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement146() (interface{}, error) { +func (p *parser) callonSectionTitleElement100() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement146() + return p.cur.onSectionTitleElement100() } -func (c *current) onDoubleQuoteMarkedTextElement139() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onSectionTitleElement102() (interface{}, error) { + + return strconv.Atoi(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement139() (interface{}, error) { +func (p *parser) callonSectionTitleElement102() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement139() + return p.cur.onSectionTitleElement102() } -func (c *current) onDoubleQuoteMarkedTextElement153() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onSectionTitleElement95(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement153() (interface{}, error) { +func (p *parser) callonSectionTitleElement95() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement153() + return p.cur.onSectionTitleElement95(stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement155() (interface{}, error) { - return types.NewSymbol("=>") - +func (c *current) onSectionTitleElement84(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement155() (interface{}, error) { +func (p *parser) callonSectionTitleElement84() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement155() + return p.cur.onSectionTitleElement84(stack["name"], stack["start"]) } -func (c *current) onDoubleQuoteMarkedTextElement157() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onSectionTitleElement110() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement157() (interface{}, error) { +func (p *parser) callonSectionTitleElement110() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement157() + return p.cur.onSectionTitleElement110() } -func (c *current) onDoubleQuoteMarkedTextElement101() (interface{}, error) { +func (c *current) onSectionTitleElement106(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) callonDoubleQuoteMarkedTextElement101() (interface{}, error) { +func (p *parser) callonSectionTitleElement106() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement101() + return p.cur.onSectionTitleElement106(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement159() (interface{}, error) { - return types.NewSymbol("\"`") +func (c *current) onSectionTitleElement120() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement159() (interface{}, error) { +func (p *parser) callonSectionTitleElement120() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement159() + return p.cur.onSectionTitleElement120() } -func (c *current) onDoubleQuoteMarkedTextElement161() (interface{}, error) { - return types.NewSymbol("`\"") +func (c *current) onSectionTitleElement116(name interface{}) (interface{}, error) { + + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement161() (interface{}, error) { +func (p *parser) callonSectionTitleElement116() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement161() + return p.cur.onSectionTitleElement116(stack["name"]) } -func (c *current) onDoubleQuoteMarkedTextElement163() (interface{}, error) { - return types.NewSymbol("'`") +func (c *current) onSectionTitleElement57(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement163() (interface{}, error) { +func (p *parser) callonSectionTitleElement57() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement163() + return p.cur.onSectionTitleElement57(stack["element"]) } -func (c *current) onDoubleQuoteMarkedTextElement165() (interface{}, error) { - return types.NewSymbol("`'") +func (c *current) onSectionTitleElement126() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonDoubleQuoteMarkedTextElement165() (interface{}, error) { +func (p *parser) callonSectionTitleElement126() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement165() + return p.cur.onSectionTitleElement126() } -func (c *current) onDoubleQuoteMarkedTextElement167() (interface{}, error) { - return types.NewSymbol("(C)") +func (c *current) onSectionTitleElement42(elements interface{}) (interface{}, error) { + return types.Reduce(elements, strings.TrimSpace), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement167() (interface{}, error) { +func (p *parser) callonSectionTitleElement42() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement167() + return p.cur.onSectionTitleElement42(stack["elements"]) } -func (c *current) onDoubleQuoteMarkedTextElement169() (interface{}, error) { - return types.NewSymbol("(TM)") +func (c *current) onSectionTitleElement38(id interface{}) (interface{}, error) { + return types.NewIDAttribute(id) } -func (p *parser) callonDoubleQuoteMarkedTextElement169() (interface{}, error) { +func (p *parser) callonSectionTitleElement38() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement169() + return p.cur.onSectionTitleElement38(stack["id"]) } -func (c *current) onDoubleQuoteMarkedTextElement171() (interface{}, error) { - return types.NewSymbol("(R)") +func (c *current) onSectionTitleElement130() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement171() (interface{}, error) { +func (p *parser) callonSectionTitleElement130() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement171() + return p.cur.onSectionTitleElement130() } -func (c *current) onDoubleQuoteMarkedTextElement173() (interface{}, error) { - return types.NewSymbol("...") - +func (c *current) onSectionTitleElement134() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement173() (interface{}, error) { +func (p *parser) callonSectionTitleElement134() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement173() + return p.cur.onSectionTitleElement134() } -func (c *current) onDoubleQuoteMarkedTextElement177() (bool, error) { - return c.isPreceededBySpace(), nil - +func (c *current) onSectionTitleElement32(id interface{}) (interface{}, error) { + return id, nil } -func (p *parser) callonDoubleQuoteMarkedTextElement177() (bool, error) { +func (p *parser) callonSectionTitleElement32() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement177() + return p.cur.onSectionTitleElement32(stack["id"]) } -func (c *current) onDoubleQuoteMarkedTextElement180() (interface{}, error) { +func (c *current) onSectionTitleElement141() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement180() (interface{}, error) { +func (p *parser) callonSectionTitleElement141() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement180() + return p.cur.onSectionTitleElement141() } -func (c *current) onDoubleQuoteMarkedTextElement184() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSectionTitleElement148() (bool, error) { + return c.isSubstitutionEnabled(Replacements), nil + } -func (p *parser) callonDoubleQuoteMarkedTextElement184() (interface{}, error) { +func (p *parser) callonSectionTitleElement148() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement184() + return p.cur.onSectionTitleElement148() } -func (c *current) onDoubleQuoteMarkedTextElement175() (interface{}, error) { - return types.NewSymbol(" -- ") +func (c *current) onSectionTitleElement155() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteMarkedTextElement175() (interface{}, error) { +func (p *parser) callonSectionTitleElement155() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement175() + return p.cur.onSectionTitleElement155() } -func (c *current) onDoubleQuoteMarkedTextElement193() (bool, error) { - return c.isPreceededByAlphanum(), nil +func (c *current) onSectionTitleElement157() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteMarkedTextElement193() (bool, error) { +func (p *parser) callonSectionTitleElement157() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement193() + return p.cur.onSectionTitleElement157() } -func (c *current) onDoubleQuoteMarkedTextElement198() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSectionTitleElement159() (interface{}, error) { + return types.NewSymbol("'`") + } -func (p *parser) callonDoubleQuoteMarkedTextElement198() (interface{}, error) { +func (p *parser) callonSectionTitleElement159() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement198() + return p.cur.onSectionTitleElement159() } -func (c *current) onDoubleQuoteMarkedTextElement191() (interface{}, error) { - return types.NewSymbol("--") +func (c *current) onSectionTitleElement161() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteMarkedTextElement191() (interface{}, error) { +func (p *parser) callonSectionTitleElement161() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement191() + return p.cur.onSectionTitleElement161() } -func (c *current) onDoubleQuoteMarkedTextElement205() (interface{}, error) { - return types.NewSymbol("->") +func (c *current) onSectionTitleElement163() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteMarkedTextElement205() (interface{}, error) { +func (p *parser) callonSectionTitleElement163() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement205() + return p.cur.onSectionTitleElement163() } -func (c *current) onDoubleQuoteMarkedTextElement207() (interface{}, error) { - return types.NewSymbol("<-") +func (c *current) onSectionTitleElement165() (interface{}, error) { + return types.NewSymbol("(TM)") } -func (p *parser) callonDoubleQuoteMarkedTextElement207() (interface{}, error) { +func (p *parser) callonSectionTitleElement165() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement207() + return p.cur.onSectionTitleElement165() } -func (c *current) onDoubleQuoteMarkedTextElement209() (interface{}, error) { - return types.NewSymbol("=>") +func (c *current) onSectionTitleElement167() (interface{}, error) { + return types.NewSymbol("(R)") } -func (p *parser) callonDoubleQuoteMarkedTextElement209() (interface{}, error) { +func (p *parser) callonSectionTitleElement167() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement209() + return p.cur.onSectionTitleElement167() } -func (c *current) onDoubleQuoteMarkedTextElement211() (interface{}, error) { - return types.NewSymbol("<=") +func (c *current) onSectionTitleElement169() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteMarkedTextElement211() (interface{}, error) { +func (p *parser) callonSectionTitleElement169() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement211() + return p.cur.onSectionTitleElement169() } -func (c *current) onDoubleQuoteMarkedTextElement213() (interface{}, error) { - log.Debug("matched escaped apostrophe") - return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char +func (c *current) onSectionTitleElement171() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonDoubleQuoteMarkedTextElement213() (interface{}, error) { +func (p *parser) callonSectionTitleElement171() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement213() + return p.cur.onSectionTitleElement171() } -func (c *current) onDoubleQuoteMarkedTextElement219() (interface{}, error) { - return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) +func (c *current) onSectionTitleElement175() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement219() (interface{}, error) { +func (p *parser) callonSectionTitleElement175() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement219() + return p.cur.onSectionTitleElement175() } -func (c *current) onDoubleQuoteMarkedTextElement227() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil +func (c *current) onSectionTitleElement178() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement227() (bool, error) { +func (p *parser) callonSectionTitleElement178() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement227() + return p.cur.onSectionTitleElement178() } -func (c *current) onDoubleQuoteMarkedTextElement236() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSectionTitleElement182() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement236() (interface{}, error) { +func (p *parser) callonSectionTitleElement182() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement236() + return p.cur.onSectionTitleElement182() } -func (c *current) onDoubleQuoteMarkedTextElement240() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement173() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonDoubleQuoteMarkedTextElement240() (interface{}, error) { +func (p *parser) callonSectionTitleElement173() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement240() + return p.cur.onSectionTitleElement173() } -func (c *current) onDoubleQuoteMarkedTextElement246() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement191() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement246() (interface{}, error) { +func (p *parser) callonSectionTitleElement191() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement246() + return p.cur.onSectionTitleElement191() } -func (c *current) onDoubleQuoteMarkedTextElement255() (interface{}, error) { +func (c *current) onSectionTitleElement196() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonDoubleQuoteMarkedTextElement255() (interface{}, error) { +func (p *parser) callonSectionTitleElement196() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement255() + return p.cur.onSectionTitleElement196() } -func (c *current) onDoubleQuoteMarkedTextElement251(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSectionTitleElement189() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonDoubleQuoteMarkedTextElement251() (interface{}, error) { +func (p *parser) callonSectionTitleElement189() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement251(stack["name"]) + return p.cur.onSectionTitleElement189() } -func (c *current) onDoubleQuoteMarkedTextElement265() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement203() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonDoubleQuoteMarkedTextElement265() (interface{}, error) { +func (p *parser) callonSectionTitleElement203() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement265() + return p.cur.onSectionTitleElement203() } -func (c *current) onDoubleQuoteMarkedTextElement261(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onSectionTitleElement205() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonDoubleQuoteMarkedTextElement261() (interface{}, error) { +func (p *parser) callonSectionTitleElement205() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement261(stack["name"]) + return p.cur.onSectionTitleElement205() } -func (c *current) onDoubleQuoteMarkedTextElement271() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement207() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonDoubleQuoteMarkedTextElement271() (interface{}, error) { +func (p *parser) callonSectionTitleElement207() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement271() + return p.cur.onSectionTitleElement207() } -func (c *current) onDoubleQuoteMarkedTextElement232(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) +func (c *current) onSectionTitleElement151() (interface{}, error) { + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonDoubleQuoteMarkedTextElement232() (interface{}, error) { +func (p *parser) callonSectionTitleElement151() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement232(stack["id"], stack["label"]) + return p.cur.onSectionTitleElement151() } -func (c *current) onDoubleQuoteMarkedTextElement278() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil +func (c *current) onSectionTitleElement209() (interface{}, error) { + return types.NewSymbol("\"`") } -func (p *parser) callonDoubleQuoteMarkedTextElement278() (interface{}, error) { +func (p *parser) callonSectionTitleElement209() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement278() + return p.cur.onSectionTitleElement209() } -func (c *current) onDoubleQuoteMarkedTextElement274(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSectionTitleElement211() (interface{}, error) { + return types.NewSymbol("`\"") } -func (p *parser) callonDoubleQuoteMarkedTextElement274() (interface{}, error) { +func (p *parser) callonSectionTitleElement211() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement274(stack["id"]) + return p.cur.onSectionTitleElement211() } -func (c *current) onDoubleQuoteMarkedTextElement230() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement213() (interface{}, error) { + return types.NewSymbol("'`") } -func (p *parser) callonDoubleQuoteMarkedTextElement230() (interface{}, error) { +func (p *parser) callonSectionTitleElement213() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement230() + return p.cur.onSectionTitleElement213() } -func (c *current) onDoubleQuoteMarkedTextElement282() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) +func (c *current) onSectionTitleElement215() (interface{}, error) { + return types.NewSymbol("`'") } -func (p *parser) callonDoubleQuoteMarkedTextElement282() (interface{}, error) { +func (p *parser) callonSectionTitleElement215() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement282() + return p.cur.onSectionTitleElement215() } -func (c *current) onDoubleQuoteMarkedTextElement225(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSectionTitleElement217() (interface{}, error) { + return types.NewSymbol("(C)") } -func (p *parser) callonDoubleQuoteMarkedTextElement225() (interface{}, error) { +func (p *parser) callonSectionTitleElement217() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement225(stack["element"]) + return p.cur.onSectionTitleElement217() } -func (c *current) onDoubleQuoteMarkedTextElement289() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement219() (interface{}, error) { + return types.NewSymbol("(TM)") + } -func (p *parser) callonDoubleQuoteMarkedTextElement289() (interface{}, error) { +func (p *parser) callonSectionTitleElement219() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement289() + return p.cur.onSectionTitleElement219() } -func (c *current) onDoubleQuoteMarkedTextElement285(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSectionTitleElement221() (interface{}, error) { + return types.NewSymbol("(R)") + } -func (p *parser) callonDoubleQuoteMarkedTextElement285() (interface{}, error) { +func (p *parser) callonSectionTitleElement221() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement285(stack["ref"]) + return p.cur.onSectionTitleElement221() } -func (c *current) onDoubleQuoteMarkedTextElement297() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement223() (interface{}, error) { + return types.NewSymbol("...") } -func (p *parser) callonDoubleQuoteMarkedTextElement297() (interface{}, error) { +func (p *parser) callonSectionTitleElement223() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement297() + return p.cur.onSectionTitleElement223() } -func (c *current) onDoubleQuoteMarkedTextElement294() (interface{}, error) { - // or a marked delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement227() (bool, error) { + return c.isPreceededBySpace(), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement294() (interface{}, error) { +func (p *parser) callonSectionTitleElement227() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement294() + return p.cur.onSectionTitleElement227() } -func (c *current) onDoubleQuoteMarkedTextElement1(element interface{}) (interface{}, error) { - return element, nil +func (c *current) onSectionTitleElement230() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonDoubleQuoteMarkedTextElement1() (interface{}, error) { +func (p *parser) callonSectionTitleElement230() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onDoubleQuoteMarkedTextElement1(stack["element"]) + return p.cur.onSectionTitleElement230() } -func (c *current) onQuotedTextInDoubleMarkedBoldText2(element interface{}) (interface{}, error) { - return element, nil - +func (c *current) onSectionTitleElement234() (interface{}, error) { + // TODO: just use "\n" + return string(c.text), nil } -func (p *parser) callonQuotedTextInDoubleMarkedBoldText2() (interface{}, error) { +func (p *parser) callonSectionTitleElement234() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText2(stack["element"]) + return p.cur.onSectionTitleElement234() } -func (c *current) onQuotedTextInDoubleMarkedBoldText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) +func (c *current) onSectionTitleElement225() (interface{}, error) { + return types.NewSymbol(" -- ") } -func (p *parser) callonQuotedTextInDoubleMarkedBoldText13() (interface{}, error) { +func (p *parser) callonSectionTitleElement225() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInDoubleMarkedBoldText13(stack["attributes"], stack["text"]) + return p.cur.onSectionTitleElement225() } -func (c *current) onSingleQuoteMarkedText1(elements interface{}) (interface{}, error) { - - return types.NewQuotedText(types.SingleQuoteMarked, elements.([]interface{})) +func (c *current) onSectionTitleElement243() (bool, error) { + return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteMarkedText1() (interface{}, error) { +func (p *parser) callonSectionTitleElement243() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedText1(stack["elements"]) + return p.cur.onSectionTitleElement243() } -func (c *current) onSingleQuoteMarkedTextElements7() (interface{}, error) { +func (c *current) onSectionTitleElement248() (interface{}, error) { + // TODO: just use "\n" return string(c.text), nil - } -func (p *parser) callonSingleQuoteMarkedTextElements7() (interface{}, error) { +func (p *parser) callonSectionTitleElement248() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements7() + return p.cur.onSectionTitleElement248() } -func (c *current) onSingleQuoteMarkedTextElements12(elements interface{}) (bool, error) { - return validateSingleQuoteElements(elements.([]interface{})) // cannot end with spaces +func (c *current) onSectionTitleElement241() (interface{}, error) { + return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteMarkedTextElements12() (bool, error) { +func (p *parser) callonSectionTitleElement241() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements12(stack["elements"]) + return p.cur.onSectionTitleElement241() } -func (c *current) onSingleQuoteMarkedTextElements1(elements interface{}) (interface{}, error) { - return elements, nil +func (c *current) onSectionTitleElement255() (interface{}, error) { + return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteMarkedTextElements1() (interface{}, error) { +func (p *parser) callonSectionTitleElement255() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElements1(stack["elements"]) + return p.cur.onSectionTitleElement255() } -func (c *current) onSingleQuoteMarkedTextElement8() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement257() (interface{}, error) { + return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteMarkedTextElement8() (interface{}, error) { +func (p *parser) callonSectionTitleElement257() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement8() + return p.cur.onSectionTitleElement257() } -func (c *current) onSingleQuoteMarkedTextElement2() (interface{}, error) { - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement259() (interface{}, error) { + return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteMarkedTextElement2() (interface{}, error) { +func (p *parser) callonSectionTitleElement259() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement2() + return p.cur.onSectionTitleElement259() } -func (c *current) onSingleQuoteMarkedTextElement11() (interface{}, error) { - // log.Debug("matched multiple spaces") - return string(c.text), nil +func (c *current) onSectionTitleElement261() (interface{}, error) { + return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteMarkedTextElement11() (interface{}, error) { +func (p *parser) callonSectionTitleElement261() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement11() + return p.cur.onSectionTitleElement261() } -func (c *current) onSingleQuoteMarkedTextElement15() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSectionTitleElement263() (interface{}, error) { + log.Debug("matched escaped apostrophe") + return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char + } -func (p *parser) callonSingleQuoteMarkedTextElement15() (interface{}, error) { +func (p *parser) callonSectionTitleElement263() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement15() + return p.cur.onSectionTitleElement263() } -func (c *current) onSingleQuoteMarkedTextElement21() (interface{}, error) { - // TODO: just use "\n" - return string(c.text), nil +func (c *current) onSectionTitleElement269() (interface{}, error) { + return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) + } -func (p *parser) callonSingleQuoteMarkedTextElement21() (interface{}, error) { +func (p *parser) callonSectionTitleElement269() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement21() + return p.cur.onSectionTitleElement269() } -func (c *current) onSingleQuoteMarkedTextElement28() (bool, error) { - return c.isSubstitutionEnabled(AttributeRefs), nil +func (c *current) onSectionTitleElement146(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement28() (bool, error) { +func (p *parser) callonSectionTitleElement146() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement28() + return p.cur.onSectionTitleElement146(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement35() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement277() (bool, error) { + return c.isSubstitutionEnabled(SpecialCharacters), nil } -func (p *parser) callonSingleQuoteMarkedTextElement35() (interface{}, error) { +func (p *parser) callonSectionTitleElement277() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement35() + return p.cur.onSectionTitleElement277() } -func (c *current) onSingleQuoteMarkedTextElement47() (interface{}, error) { +func (c *current) onSectionTitleElement286() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement47() (interface{}, error) { +func (p *parser) callonSectionTitleElement286() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement47() + return p.cur.onSectionTitleElement286() } -func (c *current) onSingleQuoteMarkedTextElement49() (interface{}, error) { - - return strconv.Atoi(string(c.text)) +func (c *current) onSectionTitleElement290() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement49() (interface{}, error) { +func (p *parser) callonSectionTitleElement290() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement49() + return p.cur.onSectionTitleElement290() } -func (c *current) onSingleQuoteMarkedTextElement42(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSectionTitleElement296() (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) callonSingleQuoteMarkedTextElement42() (interface{}, error) { +func (p *parser) callonSectionTitleElement296() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement42(stack["start"]) + return p.cur.onSectionTitleElement296() } -func (c *current) onSingleQuoteMarkedTextElement31(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) +func (c *current) onSectionTitleElement305() (interface{}, error) { + return string(c.text), nil + } -func (p *parser) callonSingleQuoteMarkedTextElement31() (interface{}, error) { +func (p *parser) callonSectionTitleElement305() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement31(stack["name"], stack["start"]) + return p.cur.onSectionTitleElement305() } -func (c *current) onSingleQuoteMarkedTextElement57() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement301(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) callonSingleQuoteMarkedTextElement57() (interface{}, error) { +func (p *parser) callonSectionTitleElement301() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement57() + return p.cur.onSectionTitleElement301(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElement69() (interface{}, error) { +func (c *current) onSectionTitleElement315() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement69() (interface{}, error) { +func (p *parser) callonSectionTitleElement315() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement69() + return p.cur.onSectionTitleElement315() } -func (c *current) onSingleQuoteMarkedTextElement71() (interface{}, error) { +func (c *current) onSectionTitleElement311(name interface{}) (interface{}, error) { - return strconv.Atoi(string(c.text)) + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement71() (interface{}, error) { +func (p *parser) callonSectionTitleElement311() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement71() + return p.cur.onSectionTitleElement311(stack["name"]) } -func (c *current) onSingleQuoteMarkedTextElement64(start interface{}) (interface{}, error) { - return start, nil +func (c *current) onSectionTitleElement321() (interface{}, error) { + + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement64() (interface{}, error) { +func (p *parser) callonSectionTitleElement321() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement64(stack["start"]) + return p.cur.onSectionTitleElement321() } -func (c *current) onSingleQuoteMarkedTextElement53(name, start interface{}) (interface{}, error) { - return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) +func (c *current) onSectionTitleElement282(id, label interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, label) + } -func (p *parser) callonSingleQuoteMarkedTextElement53() (interface{}, error) { +func (p *parser) callonSectionTitleElement282() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement53(stack["name"], stack["start"]) + return p.cur.onSectionTitleElement282(stack["id"], stack["label"]) } -func (c *current) onSingleQuoteMarkedTextElement79() (interface{}, error) { +func (c *current) onSectionTitleElement328() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement79() (interface{}, error) { +func (p *parser) callonSectionTitleElement328() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement79() + return p.cur.onSectionTitleElement328() } -func (c *current) onSingleQuoteMarkedTextElement75(name interface{}) (interface{}, error) { - - log.Debug("matching escaped attribute reference") - // return types.NewStringElement("{"+name.(string)+"}") - return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) +func (c *current) onSectionTitleElement324(id interface{}) (interface{}, error) { + return types.NewInternalCrossReference(id, nil) } -func (p *parser) callonSingleQuoteMarkedTextElement75() (interface{}, error) { +func (p *parser) callonSectionTitleElement324() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement75(stack["name"]) + return p.cur.onSectionTitleElement324(stack["id"]) } -func (c *current) onSingleQuoteMarkedTextElement89() (interface{}, error) { - return string(c.text), nil +func (c *current) onSectionTitleElement280() (interface{}, error) { + return types.NewStringElement(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement89() (interface{}, error) { +func (p *parser) callonSectionTitleElement280() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement89() + return p.cur.onSectionTitleElement280() } -func (c *current) onSingleQuoteMarkedTextElement85(name interface{}) (interface{}, error) { - - return types.NewAttributeSubstitution(name.(string), string(c.text)) +func (c *current) onSectionTitleElement332() (interface{}, error) { + return types.NewSpecialCharacter(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement85() (interface{}, error) { +func (p *parser) callonSectionTitleElement332() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement85(stack["name"]) + return p.cur.onSectionTitleElement332() } -func (c *current) onSingleQuoteMarkedTextElement26(element interface{}) (interface{}, error) { +func (c *current) onSectionTitleElement275(element interface{}) (interface{}, error) { return element, nil } -func (p *parser) callonSingleQuoteMarkedTextElement26() (interface{}, error) { +func (p *parser) callonSectionTitleElement275() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement26(stack["element"]) + return p.cur.onSectionTitleElement275(stack["element"]) } -func (c *current) onSingleQuoteMarkedTextElement100() (interface{}, error) { +func (c *current) onSectionTitleElement338() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteMarkedTextElement100() (interface{}, error) { +func (p *parser) callonSectionTitleElement338() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement100() + return p.cur.onSectionTitleElement338() } -func (c *current) onSingleQuoteMarkedTextElement102() (interface{}, error) { +func (c *current) onSectionTitleElement340() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteMarkedTextElement102() (interface{}, error) { +func (p *parser) callonSectionTitleElement340() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement102() + return p.cur.onSectionTitleElement340() } -func (c *current) onSingleQuoteMarkedTextElement104() (interface{}, error) { +func (c *current) onSectionTitleElement342() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteMarkedTextElement104() (interface{}, error) { +func (p *parser) callonSectionTitleElement342() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement104() + return p.cur.onSectionTitleElement342() } -func (c *current) onSingleQuoteMarkedTextElement106() (interface{}, error) { +func (c *current) onSectionTitleElement344() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteMarkedTextElement106() (interface{}, error) { +func (p *parser) callonSectionTitleElement344() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement106() + return p.cur.onSectionTitleElement344() } -func (c *current) onSingleQuoteMarkedTextElement108() (interface{}, error) { +func (c *current) onSectionTitleElement346() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteMarkedTextElement108() (interface{}, error) { +func (p *parser) callonSectionTitleElement346() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement108() + return p.cur.onSectionTitleElement346() } -func (c *current) onSingleQuoteMarkedTextElement110() (interface{}, error) { +func (c *current) onSectionTitleElement348() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteMarkedTextElement110() (interface{}, error) { +func (p *parser) callonSectionTitleElement348() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement110() + return p.cur.onSectionTitleElement348() } -func (c *current) onSingleQuoteMarkedTextElement112() (interface{}, error) { +func (c *current) onSectionTitleElement350() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteMarkedTextElement112() (interface{}, error) { +func (p *parser) callonSectionTitleElement350() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement112() + return p.cur.onSectionTitleElement350() } -func (c *current) onSingleQuoteMarkedTextElement114() (interface{}, error) { +func (c *current) onSectionTitleElement352() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteMarkedTextElement114() (interface{}, error) { +func (p *parser) callonSectionTitleElement352() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement114() + return p.cur.onSectionTitleElement352() } -func (c *current) onSingleQuoteMarkedTextElement116() (interface{}, error) { +func (c *current) onSectionTitleElement354() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteMarkedTextElement116() (interface{}, error) { +func (p *parser) callonSectionTitleElement354() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement116() + return p.cur.onSectionTitleElement354() } -func (c *current) onSingleQuoteMarkedTextElement120() (bool, error) { +func (c *current) onSectionTitleElement358() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteMarkedTextElement120() (bool, error) { +func (p *parser) callonSectionTitleElement358() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement120() + return p.cur.onSectionTitleElement358() } -func (c *current) onSingleQuoteMarkedTextElement123() (interface{}, error) { +func (c *current) onSectionTitleElement361() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement123() (interface{}, error) { +func (p *parser) callonSectionTitleElement361() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement123() + return p.cur.onSectionTitleElement361() } -func (c *current) onSingleQuoteMarkedTextElement127() (interface{}, error) { +func (c *current) onSectionTitleElement365() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement127() (interface{}, error) { +func (p *parser) callonSectionTitleElement365() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement127() + return p.cur.onSectionTitleElement365() } -func (c *current) onSingleQuoteMarkedTextElement118() (interface{}, error) { +func (c *current) onSectionTitleElement356() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteMarkedTextElement118() (interface{}, error) { +func (p *parser) callonSectionTitleElement356() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement118() + return p.cur.onSectionTitleElement356() } -func (c *current) onSingleQuoteMarkedTextElement136() (bool, error) { +func (c *current) onSectionTitleElement374() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteMarkedTextElement136() (bool, error) { +func (p *parser) callonSectionTitleElement374() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement136() + return p.cur.onSectionTitleElement374() } -func (c *current) onSingleQuoteMarkedTextElement141() (interface{}, error) { +func (c *current) onSectionTitleElement379() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement141() (interface{}, error) { +func (p *parser) callonSectionTitleElement379() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement141() + return p.cur.onSectionTitleElement379() } -func (c *current) onSingleQuoteMarkedTextElement134() (interface{}, error) { +func (c *current) onSectionTitleElement372() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteMarkedTextElement134() (interface{}, error) { +func (p *parser) callonSectionTitleElement372() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement134() + return p.cur.onSectionTitleElement372() } -func (c *current) onSingleQuoteMarkedTextElement148() (interface{}, error) { +func (c *current) onSectionTitleElement386() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteMarkedTextElement148() (interface{}, error) { +func (p *parser) callonSectionTitleElement386() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement148() + return p.cur.onSectionTitleElement386() } -func (c *current) onSingleQuoteMarkedTextElement150() (interface{}, error) { +func (c *current) onSectionTitleElement388() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteMarkedTextElement150() (interface{}, error) { +func (p *parser) callonSectionTitleElement388() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement150() + return p.cur.onSectionTitleElement388() } -func (c *current) onSingleQuoteMarkedTextElement152() (interface{}, error) { +func (c *current) onSectionTitleElement390() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteMarkedTextElement152() (interface{}, error) { +func (p *parser) callonSectionTitleElement390() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement152() + return p.cur.onSectionTitleElement390() } -func (c *current) onSingleQuoteMarkedTextElement96() (interface{}, error) { +func (c *current) onSectionTitleElement334() (interface{}, error) { return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSingleQuoteMarkedTextElement96() (interface{}, error) { +func (p *parser) callonSectionTitleElement334() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement96() + return p.cur.onSectionTitleElement334() } -func (c *current) onSingleQuoteMarkedTextElement154() (interface{}, error) { +func (c *current) onSectionTitleElement392() (interface{}, error) { return types.NewSymbol("\"`") } -func (p *parser) callonSingleQuoteMarkedTextElement154() (interface{}, error) { +func (p *parser) callonSectionTitleElement392() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement154() + return p.cur.onSectionTitleElement392() } -func (c *current) onSingleQuoteMarkedTextElement156() (interface{}, error) { +func (c *current) onSectionTitleElement394() (interface{}, error) { return types.NewSymbol("`\"") } -func (p *parser) callonSingleQuoteMarkedTextElement156() (interface{}, error) { +func (p *parser) callonSectionTitleElement394() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement156() + return p.cur.onSectionTitleElement394() } -func (c *current) onSingleQuoteMarkedTextElement158() (interface{}, error) { +func (c *current) onSectionTitleElement396() (interface{}, error) { return types.NewSymbol("'`") } -func (p *parser) callonSingleQuoteMarkedTextElement158() (interface{}, error) { +func (p *parser) callonSectionTitleElement396() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement158() + return p.cur.onSectionTitleElement396() } -func (c *current) onSingleQuoteMarkedTextElement160() (interface{}, error) { +func (c *current) onSectionTitleElement398() (interface{}, error) { return types.NewSymbol("`'") } -func (p *parser) callonSingleQuoteMarkedTextElement160() (interface{}, error) { +func (p *parser) callonSectionTitleElement398() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement160() + return p.cur.onSectionTitleElement398() } -func (c *current) onSingleQuoteMarkedTextElement162() (interface{}, error) { +func (c *current) onSectionTitleElement400() (interface{}, error) { return types.NewSymbol("(C)") } -func (p *parser) callonSingleQuoteMarkedTextElement162() (interface{}, error) { +func (p *parser) callonSectionTitleElement400() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement162() + return p.cur.onSectionTitleElement400() } -func (c *current) onSingleQuoteMarkedTextElement164() (interface{}, error) { +func (c *current) onSectionTitleElement402() (interface{}, error) { return types.NewSymbol("(TM)") } -func (p *parser) callonSingleQuoteMarkedTextElement164() (interface{}, error) { +func (p *parser) callonSectionTitleElement402() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement164() + return p.cur.onSectionTitleElement402() } -func (c *current) onSingleQuoteMarkedTextElement166() (interface{}, error) { +func (c *current) onSectionTitleElement404() (interface{}, error) { return types.NewSymbol("(R)") } -func (p *parser) callonSingleQuoteMarkedTextElement166() (interface{}, error) { +func (p *parser) callonSectionTitleElement404() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement166() + return p.cur.onSectionTitleElement404() } -func (c *current) onSingleQuoteMarkedTextElement168() (interface{}, error) { +func (c *current) onSectionTitleElement406() (interface{}, error) { return types.NewSymbol("...") } -func (p *parser) callonSingleQuoteMarkedTextElement168() (interface{}, error) { +func (p *parser) callonSectionTitleElement406() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement168() + return p.cur.onSectionTitleElement406() } -func (c *current) onSingleQuoteMarkedTextElement172() (bool, error) { +func (c *current) onSectionTitleElement410() (bool, error) { return c.isPreceededBySpace(), nil } -func (p *parser) callonSingleQuoteMarkedTextElement172() (bool, error) { +func (p *parser) callonSectionTitleElement410() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement172() + return p.cur.onSectionTitleElement410() } -func (c *current) onSingleQuoteMarkedTextElement175() (interface{}, error) { +func (c *current) onSectionTitleElement413() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement175() (interface{}, error) { +func (p *parser) callonSectionTitleElement413() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement175() + return p.cur.onSectionTitleElement413() } -func (c *current) onSingleQuoteMarkedTextElement179() (interface{}, error) { +func (c *current) onSectionTitleElement417() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement179() (interface{}, error) { +func (p *parser) callonSectionTitleElement417() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement179() + return p.cur.onSectionTitleElement417() } -func (c *current) onSingleQuoteMarkedTextElement170() (interface{}, error) { +func (c *current) onSectionTitleElement408() (interface{}, error) { return types.NewSymbol(" -- ") } -func (p *parser) callonSingleQuoteMarkedTextElement170() (interface{}, error) { +func (p *parser) callonSectionTitleElement408() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement170() + return p.cur.onSectionTitleElement408() } -func (c *current) onSingleQuoteMarkedTextElement188() (bool, error) { +func (c *current) onSectionTitleElement426() (bool, error) { return c.isPreceededByAlphanum(), nil } -func (p *parser) callonSingleQuoteMarkedTextElement188() (bool, error) { +func (p *parser) callonSectionTitleElement426() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement188() + return p.cur.onSectionTitleElement426() } -func (c *current) onSingleQuoteMarkedTextElement193() (interface{}, error) { +func (c *current) onSectionTitleElement431() (interface{}, error) { // TODO: just use "\n" return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement193() (interface{}, error) { +func (p *parser) callonSectionTitleElement431() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement193() + return p.cur.onSectionTitleElement431() } -func (c *current) onSingleQuoteMarkedTextElement186() (interface{}, error) { +func (c *current) onSectionTitleElement424() (interface{}, error) { return types.NewSymbol("--") } -func (p *parser) callonSingleQuoteMarkedTextElement186() (interface{}, error) { +func (p *parser) callonSectionTitleElement424() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement186() + return p.cur.onSectionTitleElement424() } -func (c *current) onSingleQuoteMarkedTextElement200() (interface{}, error) { +func (c *current) onSectionTitleElement438() (interface{}, error) { return types.NewSymbol("->") } -func (p *parser) callonSingleQuoteMarkedTextElement200() (interface{}, error) { +func (p *parser) callonSectionTitleElement438() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement200() + return p.cur.onSectionTitleElement438() } -func (c *current) onSingleQuoteMarkedTextElement202() (interface{}, error) { +func (c *current) onSectionTitleElement440() (interface{}, error) { return types.NewSymbol("<-") } -func (p *parser) callonSingleQuoteMarkedTextElement202() (interface{}, error) { +func (p *parser) callonSectionTitleElement440() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement202() + return p.cur.onSectionTitleElement440() } -func (c *current) onSingleQuoteMarkedTextElement204() (interface{}, error) { +func (c *current) onSectionTitleElement442() (interface{}, error) { return types.NewSymbol("=>") } -func (p *parser) callonSingleQuoteMarkedTextElement204() (interface{}, error) { +func (p *parser) callonSectionTitleElement442() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement204() + return p.cur.onSectionTitleElement442() } -func (c *current) onSingleQuoteMarkedTextElement206() (interface{}, error) { +func (c *current) onSectionTitleElement444() (interface{}, error) { return types.NewSymbol("<=") } -func (p *parser) callonSingleQuoteMarkedTextElement206() (interface{}, error) { +func (p *parser) callonSectionTitleElement444() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement206() + return p.cur.onSectionTitleElement444() } -func (c *current) onSingleQuoteMarkedTextElement208() (interface{}, error) { +func (c *current) onSectionTitleElement446() (interface{}, error) { log.Debug("matched escaped apostrophe") return types.NewStringElement(strings.TrimSuffix(string(c.text), `\'`) + `'`) // retain the apostrophe, but discard the `\` escape char } -func (p *parser) callonSingleQuoteMarkedTextElement208() (interface{}, error) { +func (p *parser) callonSectionTitleElement446() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement208() + return p.cur.onSectionTitleElement446() } -func (c *current) onSingleQuoteMarkedTextElement214() (interface{}, error) { +func (c *current) onSectionTitleElement452() (interface{}, error) { return types.NewSymbolWithForeword("'", strings.TrimSuffix(string(c.text), `'`)) } -func (p *parser) callonSingleQuoteMarkedTextElement214() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMarkedTextElement214() -} - -func (c *current) onSingleQuoteMarkedTextElement222() (bool, error) { - return c.isSubstitutionEnabled(SpecialCharacters), nil - -} - -func (p *parser) callonSingleQuoteMarkedTextElement222() (bool, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMarkedTextElement222() -} - -func (c *current) onSingleQuoteMarkedTextElement231() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ - return string(c.text), nil - -} - -func (p *parser) callonSingleQuoteMarkedTextElement231() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMarkedTextElement231() -} - -func (c *current) onSingleQuoteMarkedTextElement235() (interface{}, error) { - return string(c.text), nil - -} - -func (p *parser) callonSingleQuoteMarkedTextElement235() (interface{}, error) { +func (p *parser) callonSectionTitleElement452() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement235() + return p.cur.onSectionTitleElement452() } -func (c *current) onSingleQuoteMarkedTextElement241() (interface{}, error) { - // `{`, `>` and `>` characters are not allowed as they are used for attribute substitutions and cross-references - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement461() (bool, error) { + return c.isSubstitutionEnabled(AttributeRefs), nil } -func (p *parser) callonSingleQuoteMarkedTextElement241() (interface{}, error) { +func (p *parser) callonSectionTitleElement461() (bool, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement241() + return p.cur.onSectionTitleElement461() } -func (c *current) onSingleQuoteMarkedTextElement250() (interface{}, error) { +func (c *current) onSectionTitleElement468() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement250() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMarkedTextElement250() -} - -func (c *current) onSingleQuoteMarkedTextElement246(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) callonSingleQuoteMarkedTextElement246() (interface{}, error) { +func (p *parser) callonSectionTitleElement468() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement246(stack["name"]) + return p.cur.onSectionTitleElement468() } -func (c *current) onSingleQuoteMarkedTextElement260() (interface{}, error) { +func (c *current) onSectionTitleElement480() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement260() (interface{}, error) { +func (p *parser) callonSectionTitleElement480() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement260() + return p.cur.onSectionTitleElement480() } -func (c *current) onSingleQuoteMarkedTextElement256(name interface{}) (interface{}, error) { +func (c *current) onSectionTitleElement482() (interface{}, error) { - return types.NewAttributeSubstitution(name.(string), string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement256() (interface{}, error) { +func (p *parser) callonSectionTitleElement482() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement256(stack["name"]) + return p.cur.onSectionTitleElement482() } -func (c *current) onSingleQuoteMarkedTextElement266() (interface{}, error) { - - return types.NewStringElement(string(c.text)) +func (c *current) onSectionTitleElement475(start interface{}) (interface{}, error) { + return start, nil } -func (p *parser) callonSingleQuoteMarkedTextElement266() (interface{}, error) { +func (p *parser) callonSectionTitleElement475() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement266() + return p.cur.onSectionTitleElement475(stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement227(id, label interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, label) - +func (c *current) onSectionTitleElement464(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), false, start, string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement227() (interface{}, error) { +func (p *parser) callonSectionTitleElement464() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement227(stack["id"], stack["label"]) + return p.cur.onSectionTitleElement464(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement273() (interface{}, error) { - // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ +func (c *current) onSectionTitleElement490() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement273() (interface{}, error) { +func (p *parser) callonSectionTitleElement490() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement273() + return p.cur.onSectionTitleElement490() } -func (c *current) onSingleQuoteMarkedTextElement269(id interface{}) (interface{}, error) { - return types.NewInternalCrossReference(id, nil) +func (c *current) onSectionTitleElement502() (interface{}, error) { + return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement269() (interface{}, error) { +func (p *parser) callonSectionTitleElement502() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement269(stack["id"]) -} - -func (c *current) onSingleQuoteMarkedTextElement225() (interface{}, error) { - return types.NewStringElement(string(c.text)) - + return p.cur.onSectionTitleElement502() } -func (p *parser) callonSingleQuoteMarkedTextElement225() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMarkedTextElement225() -} +func (c *current) onSectionTitleElement504() (interface{}, error) { -func (c *current) onSingleQuoteMarkedTextElement277() (interface{}, error) { - return types.NewSpecialCharacter(string(c.text)) + return strconv.Atoi(string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement277() (interface{}, error) { +func (p *parser) callonSectionTitleElement504() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement277() -} - -func (c *current) onSingleQuoteMarkedTextElement220(element interface{}) (interface{}, error) { - return element, nil - + return p.cur.onSectionTitleElement504() } -func (p *parser) callonSingleQuoteMarkedTextElement220() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMarkedTextElement220(stack["element"]) -} +func (c *current) onSectionTitleElement497(start interface{}) (interface{}, error) { + return start, nil -func (c *current) onSingleQuoteMarkedTextElement284() (interface{}, error) { - return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement284() (interface{}, error) { +func (p *parser) callonSectionTitleElement497() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement284() + return p.cur.onSectionTitleElement497(stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement280(ref interface{}) (interface{}, error) { - return types.NewElementPlaceHolder(ref.(string)) +func (c *current) onSectionTitleElement486(name, start interface{}) (interface{}, error) { + return types.NewCounterSubstitution(name.(string), true, nil, string(c.text)) } -func (p *parser) callonSingleQuoteMarkedTextElement280() (interface{}, error) { +func (p *parser) callonSectionTitleElement486() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement280(stack["ref"]) + return p.cur.onSectionTitleElement486(stack["name"], stack["start"]) } -func (c *current) onSingleQuoteMarkedTextElement292() (interface{}, error) { +func (c *current) onSectionTitleElement512() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonSingleQuoteMarkedTextElement292() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSingleQuoteMarkedTextElement292() -} - -func (c *current) onSingleQuoteMarkedTextElement289() (interface{}, error) { - // or a mark delimiter when immediately followed by an alphanum (ie, in the middle of some text) - return types.NewStringElement(string(c.text)) - -} - -func (p *parser) callonSingleQuoteMarkedTextElement289() (interface{}, error) { +func (p *parser) callonSectionTitleElement512() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSingleQuoteMarkedTextElement289() -} - -func (c *current) onQuotedTextInSingleQuoteMarkedText2(element interface{}) (interface{}, error) { - return element, nil - + return p.cur.onSectionTitleElement512() } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText2() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText2(stack["element"]) -} +func (c *current) onSectionTitleElement508(name interface{}) (interface{}, error) { -func (c *current) onQuotedTextInSingleQuoteMarkedText13(attributes, text interface{}) (interface{}, error) { - return text.(*types.QuotedText).WithAttributes(attributes) + log.Debug("matching escaped attribute reference") + // return types.NewStringElement("{"+name.(string)+"}") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonQuotedTextInSingleQuoteMarkedText13() (interface{}, error) { +func (p *parser) callonSectionTitleElement508() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onQuotedTextInSingleQuoteMarkedText13(stack["attributes"], stack["text"]) + return p.cur.onSectionTitleElement508(stack["name"]) } -func (c *current) onEscapedMarkedText5() (interface{}, error) { +func (c *current) onSectionTitleElement522() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedMarkedText5() (interface{}, error) { +func (p *parser) callonSectionTitleElement522() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText5() + return p.cur.onSectionTitleElement522() } -func (c *current) onEscapedMarkedText2(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "##", elements.([]interface{})) - -} - -func (p *parser) callonEscapedMarkedText2() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedMarkedText2(stack["backslashes"], stack["elements"]) -} +func (c *current) onSectionTitleElement518(name interface{}) (interface{}, error) { -func (c *current) onEscapedMarkedText17() (interface{}, error) { - return string(c.text), nil + return types.NewAttributeSubstitution(name.(string), string(c.text)) } -func (p *parser) callonEscapedMarkedText17() (interface{}, error) { +func (p *parser) callonSectionTitleElement518() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText17() + return p.cur.onSectionTitleElement518(stack["name"]) } -func (c *current) onEscapedMarkedText14(backslashes, elements interface{}) (interface{}, error) { - result := append([]interface{}{"#"}, elements.([]interface{})) - return types.NewEscapedQuotedText(backslashes.(string), "#", result) +func (c *current) onSectionTitleElement459(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonEscapedMarkedText14() (interface{}, error) { +func (p *parser) callonSectionTitleElement459() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText14(stack["backslashes"], stack["elements"]) + return p.cur.onSectionTitleElement459(stack["element"]) } -func (c *current) onEscapedMarkedText27() (interface{}, error) { +func (c *current) onSectionTitleElement532() (interface{}, error) { return string(c.text), nil - } -func (p *parser) callonEscapedMarkedText27() (interface{}, error) { +func (p *parser) callonSectionTitleElement532() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText27() + return p.cur.onSectionTitleElement532() } -func (c *current) onEscapedMarkedText24(backslashes, elements interface{}) (interface{}, error) { - return types.NewEscapedQuotedText(backslashes.(string), "#", elements.([]interface{})) - +func (c *current) onSectionTitleElement528(ref interface{}) (interface{}, error) { + return types.NewElementPlaceHolder(ref.(string)) } -func (p *parser) callonEscapedMarkedText24() (interface{}, error) { +func (p *parser) callonSectionTitleElement528() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedMarkedText24(stack["backslashes"], stack["elements"]) + return p.cur.onSectionTitleElement528(stack["ref"]) } -func (c *current) onSubscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSubscript, element) +func (c *current) onSectionTitleElement540() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ + return string(c.text), nil } -func (p *parser) callonSubscriptText1() (interface{}, error) { +func (p *parser) callonSectionTitleElement540() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptText1(stack["element"]) + return p.cur.onSectionTitleElement540() } -func (c *current) onSubscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '~' - return c.text, nil +func (c *current) onSectionTitleElement536(id interface{}) (interface{}, error) { + //return types.NewStringElement("[[" + id.(string) + "]]") + return types.NewStringElement(strings.TrimPrefix(string(c.text), `\`)) } -func (p *parser) callonSubscriptTextElement3() (interface{}, error) { +func (p *parser) callonSectionTitleElement536() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSubscriptTextElement3() + return p.cur.onSectionTitleElement536(stack["id"]) } -func (c *current) onEscapedSubscriptText4() (interface{}, error) { +func (c *current) onSectionTitleElement548() (interface{}, error) { + // previously: (Alphanums / (!Newline !Space !"[" !"]" !"<<" !">>" !"," .))+ return string(c.text), nil } -func (p *parser) callonEscapedSubscriptText4() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onEscapedSubscriptText4() -} - -func (c *current) onEscapedSubscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "~", element) - -} - -func (p *parser) callonEscapedSubscriptText1() (interface{}, error) { +func (p *parser) callonSectionTitleElement548() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSubscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onSectionTitleElement548() } -func (c *current) onSuperscriptText1(element interface{}) (interface{}, error) { - // wraps a single word - return types.NewQuotedText(types.SingleQuoteSuperscript, element) +func (c *current) onSectionTitleElement544(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) callonSuperscriptText1() (interface{}, error) { +func (p *parser) callonSectionTitleElement544() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onSuperscriptText1(stack["element"]) -} - -func (c *current) onSuperscriptTextElement3() (interface{}, error) { - // anything except spaces, EOL or '^' - return c.text, nil - + return p.cur.onSectionTitleElement544(stack["id"]) } -func (p *parser) callonSuperscriptTextElement3() (interface{}, error) { - stack := p.vstack[len(p.vstack)-1] - _ = stack - return p.cur.onSuperscriptTextElement3() -} +func (c *current) onSectionTitleElement553() (interface{}, error) { -func (c *current) onEscapedSuperscriptText4() (interface{}, error) { return string(c.text), nil } -func (p *parser) callonEscapedSuperscriptText4() (interface{}, error) { +func (p *parser) callonSectionTitleElement553() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText4() + return p.cur.onSectionTitleElement553() } -func (c *current) onEscapedSuperscriptText1(backslashes, element interface{}) (interface{}, error) { - // simple punctuation must be evaluated last - return types.NewEscapedQuotedText(backslashes.(string), "^", element) +func (c *current) onSectionTitleElement1(element interface{}) (interface{}, error) { + return element, nil } -func (p *parser) callonEscapedSuperscriptText1() (interface{}, error) { +func (p *parser) callonSectionTitleElement1() (interface{}, error) { stack := p.vstack[len(p.vstack)-1] _ = stack - return p.cur.onEscapedSuperscriptText1(stack["backslashes"], stack["element"]) + return p.cur.onSectionTitleElement1(stack["element"]) } func (c *current) onSubstitutions17() (interface{}, error) { diff --git a/pkg/parser/parser.peg b/pkg/parser/parser.peg index a45971c5..3e1cb7f7 100644 --- a/pkg/parser/parser.peg +++ b/pkg/parser/parser.peg @@ -2558,12 +2558,43 @@ Section <- return types.NewSection(level.(int), title.([]interface{})) } -SectionTitle <- [^\r\n]+ { // can't have empty title, that may collide with example block delimiter (`====`) - return []interface{}{ - types.RawLine(c.text), - }, nil +// SectionTitle <- [^\r\n]+ { // can't have empty title, that may collide with example block delimiter (`====`) +// return []interface{}{ +// types.RawLine(c.text), +// }, nil +// } +SectionTitle <- + #{ + // enable substitutions + c.state[enabledSubstitutions] = headerSubstitutions() + return nil + } + elements:(SectionTitleElement)+ { + return types.NewInlineElements(elements) } +SectionTitleElement <- + !EOL + element:( + Word + / (Space+ id:(LegacyElementID) Space* &EOL { return id, nil}) // (legacy) element ID + / Space + / InlinePassthrough + / Quote + / Link + / Replacement + / SpecialCharacter // must be after Link (because of BareURL) + / Symbol + / InlineIcon + / AttributeReference + / ElementPlaceHolder // needed when parsing a second time, after first pass returned attribute substitutions + / InlineAnchor // must be after LegacyElementID + / InlineFootnote + / AnyChar) { + return element, nil + } + + // ------------------------------------------------------------------------------------- // Substitutions // ------------------------------------------------------------------------------------- diff --git a/pkg/parser/section_test.go b/pkg/parser/section_test.go index 1fef8ed0..b2037155 100644 --- a/pkg/parser/section_test.go +++ b/pkg/parser/section_test.go @@ -10,1000 +10,6 @@ import ( var _ = Describe("sections", func() { - Context("in raw documents", func() { - - Context("valid sections", func() { - - It("header only", func() { - source := "= a header" - doctitle := []interface{}{ - types.RawLine("a header"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 10, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: doctitle, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("header with many spaces around content", func() { - source := "= a header " - doctitle := []interface{}{ - types.RawLine("a header "), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 13, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: doctitle, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("header and paragraph", func() { - source := `= a header - -and a paragraph` - - doctitle := []interface{}{ - types.RawLine("a header"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 12, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: doctitle, - Elements: []interface{}{ - &types.BlankLine{}, // will be filtered out - }, - }, - }, - }, - { - Position: types.Position{ - Start: 12, - End: 27, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("and a paragraph"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("two sections with level 0", func() { - source := `= a first header - -= a second header` - doctitle := []interface{}{ - types.RawLine("a first header"), - } - otherDoctitle := []interface{}{ - types.RawLine("a second header"), - } - - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 18, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: doctitle, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 18, - End: 35, - }, - Elements: []interface{}{ - &types.Section{ - Level: 0, - Title: otherDoctitle, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 1 alone", func() { - source := `== section 1` - section1Title := []interface{}{ - types.RawLine("section 1"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 12, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1Title, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 1 with custom idseparator", func() { - source := `:idseparator: - - -== section 1` - section1Title := []interface{}{ - types.RawLine("section 1"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 21, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Elements: []interface{}{ - &types.AttributeDeclaration{ - Name: types.AttrIDSeparator, - Value: "-", - }, - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 21, - End: 33, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1Title, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 1 with quoted text", func() { - source := `== *2 spaces and bold content*` - sectionTitle := []interface{}{ - types.RawLine("*2 spaces and bold content*"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 31, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: sectionTitle, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 0 with nested section level 1", func() { - source := `= a header - -== section 1` - doctitle := []interface{}{ - types.RawLine("a header"), - } - section1Title := []interface{}{ - types.RawLine("section 1"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 12, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: doctitle, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 12, - End: 24, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1Title, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 0 with nested section level 2", func() { - source := `= a header - -=== section 2` - doctitle := []interface{}{ - types.RawLine("a header"), - } - section2Title := []interface{}{ - types.RawLine("section 2"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 12, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: doctitle, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 12, - End: 25, - }, - Elements: []interface{}{ - &types.Section{ - Level: 2, - Title: section2Title, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 1 with immediate paragraph", func() { - source := `== a title -and a paragraph` - section1Title := []interface{}{ - types.RawLine("a title"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 11, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1Title, - }, - }, - }, - { - Position: types.Position{ - Start: 11, - End: 26, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("and a paragraph"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 1 with a paragraph separated by empty line", func() { - source := `== a title - -and a paragraph` - section1Title := []interface{}{ - types.RawLine("a title"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 11, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1Title, - }, - }, - }, - { - Position: types.Position{ - Start: 11, - End: 15, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 15, - End: 30, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("and a paragraph"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section level 1 with a paragraph separated by non-empty line", func() { - source := "== a title\n \nand a paragraph" - section1Title := []interface{}{ - types.RawLine("a title"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 11, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1Title, - }, - }, - }, - { - Position: types.Position{ - Start: 11, - End: 16, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 16, - End: 31, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("and a paragraph"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("section levels 0, 1, 2, 1", func() { - source := `= a header - -== Section A -a paragraph - -=== Section A.a -a paragraph - -== Section B -a paragraph` - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 12, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: []interface{}{ - types.RawLine("a header"), - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 12, - End: 25, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: []interface{}{ - types.RawLine("Section A"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 25, - End: 37, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a paragraph"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 37, - End: 38, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 38, - End: 54, - }, - Elements: []interface{}{ - &types.Section{ - Level: 2, - Title: []interface{}{ - types.RawLine("Section A.a"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 54, - End: 66, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a paragraph"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 66, - End: 67, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 67, - End: 80, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: []interface{}{ - types.RawLine("Section B"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 80, - End: 91, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a paragraph"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("single section with custom ID", func() { - source := `[[custom_header]] -== a header` - sectionTitle := []interface{}{ - types.RawLine("a header"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 29, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Attributes: types.Attributes{ - types.AttrID: "custom_header", - }, - Title: sectionTitle, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("multiple sections with custom IDs", func() { - source := `[[custom_header]] -= a header - -== Section F [[ignored]] [[foo]] - -[[bar]] -== Section B -a paragraph` - doctitle := []interface{}{ - types.RawLine("a header"), - } - fooTitle := []interface{}{ - types.RawLine("Section F [[ignored]] [[foo]]"), - } - barTitle := []interface{}{ - types.RawLine("Section B"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 30, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: doctitle, - Attributes: types.Attributes{ - types.AttrID: "custom_header", - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 30, - End: 63, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: fooTitle, - }, - }, - }, - { - Position: types.Position{ - Start: 63, - End: 64, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 64, - End: 85, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Attributes: types.Attributes{ - types.AttrID: "bar", - }, - Title: barTitle, - }, - }, - }, - { - Position: types.Position{ - Start: 85, - End: 96, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a paragraph"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("sections with same title", func() { - source := `== section 1 - -== section 1` - section1aTitle := []interface{}{ - types.RawLine("section 1"), - } - section1bTitle := []interface{}{ - types.RawLine("section 1"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 13, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1aTitle, - }, - }, - }, - { - Position: types.Position{ - Start: 13, - End: 14, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 14, - End: 26, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: section1bTitle, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("header with preamble then section level 1", func() { - source := `= a title - -a short preamble - -== section 1` - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 13, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: []interface{}{ - types.RawLine("a title"), - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 13, - End: 30, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a short preamble"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 30, - End: 31, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 31, - End: 43, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: []interface{}{ - types.RawLine("section 1"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("header with doc attributes and preamble then section level 1", func() { - source := `= a title -:toc: - -a short preamble - -== section 1` - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 19, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: []interface{}{ - types.RawLine("a title"), - }, - Elements: []interface{}{ - &types.AttributeDeclaration{ - Name: "toc", - }, - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 19, - End: 36, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a short preamble"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 36, - End: 37, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 37, - End: 49, - }, - Elements: []interface{}{ - &types.Section{ - Level: 1, - Title: []interface{}{ - types.RawLine("section 1"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("header with 2 paragraphs and CRLFs", func() { - source := "= a title\r\n\r\na first paragraph\r\n\r\na second paragraph" - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 13, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: []interface{}{ - types.RawLine("a title"), - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 13, - End: 32, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a first paragraph"), - }, - }, - }, - }, - { - Position: types.Position{ - Start: 32, - End: 34, - }, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - { - Position: types.Position{ - Start: 34, - End: 52, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("a second paragraph"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - }) - - Context("invalid sections", func() { - - It("header invalid - missing space", func() { - source := "=a header" - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 9, - }, - Elements: []interface{}{ - &types.Paragraph{ - Elements: []interface{}{ - types.RawLine("=a header"), - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("header invalid - header space", func() { - source := " = a header with a prefix space" - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 31, - }, - Elements: []interface{}{ - &types.Paragraph{ - Attributes: types.Attributes{ - types.AttrStyle: types.LiteralParagraph, - }, - Elements: []interface{}{ - types.RawLine(" = a header with a prefix space"), // spaces on first line of literal paragraphs are NOT trimmed by parser - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - - It("header with invalid section1", func() { - source := `= a header - - == section with prefix space` - title := []interface{}{ - types.RawLine("a header"), - } - expected := []types.DocumentFragment{ - { - Position: types.Position{ - Start: 0, - End: 12, - }, - Elements: []interface{}{ - &types.DocumentHeader{ - Title: title, - Elements: []interface{}{ - &types.BlankLine{}, - }, - }, - }, - }, - { - Position: types.Position{ - Start: 12, - End: 43, - }, - Elements: []interface{}{ - &types.Paragraph{ - Attributes: types.Attributes{ - types.AttrStyle: types.LiteralParagraph, - }, - Elements: []interface{}{ - types.RawLine(" == section with prefix space"), // spaces on first line of literal paragraphs are NOT trimmed by parser - }, - }, - }, - }, - } - Expect(ParseDocumentFragments(source)).To(MatchDocumentFragments(expected)) - }) - }) - }) - Context("in final documents", func() { Context("valid sections", func() { diff --git a/pkg/types/types.go b/pkg/types/types.go index 0bab87fd..c4f06c85 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -47,7 +47,7 @@ type Filterable interface { type WithTitle interface { WithAttributes GetTitle() []interface{} - SetTitle([]interface{}) error + SetTitle([]interface{}) } type WithLocation interface { @@ -297,9 +297,8 @@ func (h *DocumentHeader) GetTitle() []interface{} { return h.Title } -func (h *DocumentHeader) SetTitle(title []interface{}) error { +func (h *DocumentHeader) SetTitle(title []interface{}) { h.Title = title - return nil } var _ WithElements = &DocumentHeader{} @@ -2322,10 +2321,11 @@ type Section struct { // NewSection returns a new Section func NewSection(level int, title []interface{}) (*Section, error) { // log.Debugf("new rawsection: '%s' (%d)", title, level) - return &Section{ + s := &Section{ Level: level, - Title: title, - }, nil + } + s.SetTitle(title) + return s, nil } func (s *Section) GetID() (string, error) { @@ -2354,7 +2354,10 @@ func (s *Section) GetTitle() []interface{} { } // SetTitle sets this section's title -func (s *Section) SetTitle(title []interface{}) error { +func (s *Section) SetTitle(title []interface{}) { + if log.IsLevelEnabled(log.DebugLevel) { + log.Debugf("setting section title: %s", spew.Sdump(title)) + } // inline ID attribute foud at the end is *moved* at the attributes level of the section if id, ok := title[len(title)-1].(*Attribute); ok { sectionID := stringify(id.Value) @@ -2365,7 +2368,6 @@ func (s *Section) SetTitle(title []interface{}) error { title = title[:len(title)-1] } s.Title = title - return nil } // GetAttributes returns this section's attributes @@ -2376,6 +2378,10 @@ func (s *Section) GetAttributes() Attributes { // AddAttributes adds the attributes of this element func (s *Section) AddAttributes(attributes Attributes) { s.Attributes = s.Attributes.AddAll(attributes) + if _, exists := s.Attributes[AttrID]; exists { + // needed to track custom ID during rendering + s.Attributes[AttrCustomID] = true + } } // SetAttributes sets the attributes in this element diff --git a/pkg/types/types_utils.go b/pkg/types/types_utils.go index 0b385f14..a51e771c 100644 --- a/pkg/types/types_utils.go +++ b/pkg/types/types_utils.go @@ -112,6 +112,8 @@ func Reduce(elements interface{}, opts ...ReduceOption) interface{} { default: return e } + case *StringElement: + return Reduce(e.Content) case string: for _, apply := range opts { e = apply(e)